|
40021
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
nightly-syntax (26-nightly, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
nightly-syntax:
name: nightly-syntax (26-nightly, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: |
nightlyVersion="${{ matrix.node-version }}"
majorVersion=$(echo $nightlyVersion | cut -d- -f1)
__tests__/verify-node.sh "$majorVersion"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 26-nightly
os:
- macos-15-intel
...
|
nightly-syntax
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40025
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
rc-syntax (22.14.0-rc.1, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
rc-syntax:
name: rc-syntax (22.14.0-rc.1, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: |
rcVersion="${{ matrix.node-version }}"
majorVersion=$(echo $rcVersion | cut -d- -f1)
__tests__/verify-node.sh "$majorVersion"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 22.14.0-rc.1
os:
- macos-15-intel
...
|
rc-syntax
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40029
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
rc-syntax (24.0.0-rc.4, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
rc-syntax:
name: rc-syntax (24.0.0-rc.4, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: |
rcVersion="${{ matrix.node-version }}"
majorVersion=$(echo $rcVersion | cut -d- -f1)
__tests__/verify-node.sh "$majorVersion"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 24.0.0-rc.4
os:
- macos-15-intel
...
|
rc-syntax
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40033
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
rc-syntax (26.0.0-rc.1, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
rc-syntax:
name: rc-syntax (26.0.0-rc.1, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: |
rcVersion="${{ matrix.node-version }}"
majorVersion=$(echo $rcVersion | cut -d- -f1)
__tests__/verify-node.sh "$majorVersion"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 26.0.0-rc.1
os:
- macos-15-intel
...
|
rc-syntax
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40037
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
manifest (22.0.0, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
manifest:
name: manifest (22.0.0, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 22.0.0
os:
- macos-15-intel
...
|
manifest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40041
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
manifest (24.9.0, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
manifest:
name: manifest (24.9.0, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 24.9.0
os:
- macos-15-intel
...
|
manifest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40045
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
manifest (26.5.0, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
manifest:
name: manifest (26.5.0, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 26.5.0
os:
- macos-15-intel
...
|
manifest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40049
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
check-latest (22, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
check-latest:
name: check-latest (22, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node and check latest
uses: ./
with:
check-latest: "true"
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 22
os:
- macos-15-intel
...
|
check-latest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40053
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
check-latest (24, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
check-latest:
name: check-latest (24, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node and check latest
uses: ./
with:
check-latest: "true"
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 24
os:
- macos-15-intel
...
|
check-latest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40057
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
check-latest (26, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
check-latest:
name: check-latest (26, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node and check latest
uses: ./
with:
check-latest: "true"
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 26
os:
- macos-15-intel
...
|
check-latest
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40061
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file (.nvmrc, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file:
name: version-file (.nvmrc, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/${{ matrix.node-version-file }}
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
node-version-file:
- .nvmrc
os:
- macos-15-intel
...
|
version-file
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40065
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file (.tool-versions, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file:
name: version-file (.tool-versions, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/${{ matrix.node-version-file }}
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
node-version-file:
- .tool-versions
os:
- macos-15-intel
...
|
version-file
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40069
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file (.tool-versions-node, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file:
name: version-file (.tool-versions-node, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/${{ matrix.node-version-file }}
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
node-version-file:
- .tool-versions-node
os:
- macos-15-intel
...
|
version-file
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40073
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file (mise.toml, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file:
name: version-file (mise.toml, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/${{ matrix.node-version-file }}
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
node-version-file:
- mise.toml
os:
- macos-15-intel
...
|
version-file
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40077
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file (package.json, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file:
name: version-file (package.json, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/${{ matrix.node-version-file }}
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
node-version-file:
- package.json
os:
- macos-15-intel
...
|
version-file
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40084
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file-volta (macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file-volta:
name: version-file-volta (macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/package-volta.json
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
os:
- macos-15-intel
...
|
version-file-volta
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40088
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
version-file-volta-extends (macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
version-file-volta-extends:
name: version-file-volta-extends (macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node from node version file
uses: ./
with:
node-version-file: __tests__/data/package-volta-extends.json
- name: Verify node
run: __tests__/verify-node.sh 24
strategy:
fail-fast: "false"
matrix:
os:
- macos-15-intel
...
|
version-file-volta-extends
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40092
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
node-dist (21, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
node-dist:
name: node-dist (21, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node from dist
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 21
os:
- macos-15-intel
...
|
node-dist
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40096
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
node-dist (23, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
node-dist:
name: node-dist (23, macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node from dist
uses: ./
with:
node-version: ${{ matrix.node-version }}
- name: Verify node and npm
run: __tests__/verify-node.sh "${{ matrix.node-version }}"
shell: bash
strategy:
fail-fast: "false"
matrix:
node-version:
- 23
os:
- macos-15-intel
...
|
node-dist
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40100
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
old-versions (macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
old-versions:
name: old-versions (macos-15-intel)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup node 0.12.18 from dist
uses: ./
with:
node-version: 0.12.18
- name: Verify node
run: __tests__/verify-node.sh 0.12.18 SKIP_NPM
shell: bash
strategy:
fail-fast: "false"
matrix:
os:
- macos-15-intel
...
|
old-versions
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40104
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
node-latest-aliases (current, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
node-latest-aliases:
name: node-latest-aliases (current, macos-15-intel)
runs-on: macos-15-intel
steps:
- id: version
name: Get node version
run: |
latestNodeVersion=$(curl https://nodejs.org/dist/index.json | jq -r '. [0].version')
echo "LATEST_NODE_VERSION=$latestNodeVersion" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- id: updatedVersion
name: Retrieve version after install
run: |
updatedVersion=$(echo $(node --version))
echo "NODE_VERSION_UPDATED=$updatedVersion" >> $GITHUB_OUTPUT
shell: bash
- if: ${{ steps.version.outputs.LATEST_NODE_VERSION != steps.updatedVersion.outputs.NODE_VERSION_UPDATED}}
name: Compare versions
run: |
echo "Latest node version failed to download."
exit 1
strategy:
fail-fast: "false"
matrix:
node-version:
- current
os:
- macos-15-intel
...
|
node-latest-aliases
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40108
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
node-latest-aliases (latest, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
node-latest-aliases:
name: node-latest-aliases (latest, macos-15-intel)
runs-on: macos-15-intel
steps:
- id: version
name: Get node version
run: |
latestNodeVersion=$(curl https://nodejs.org/dist/index.json | jq -r '. [0].version')
echo "LATEST_NODE_VERSION=$latestNodeVersion" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- id: updatedVersion
name: Retrieve version after install
run: |
updatedVersion=$(echo $(node --version))
echo "NODE_VERSION_UPDATED=$updatedVersion" >> $GITHUB_OUTPUT
shell: bash
- if: ${{ steps.version.outputs.LATEST_NODE_VERSION != steps.updatedVersion.outputs.NODE_VERSION_UPDATED}}
name: Compare versions
run: |
echo "Latest node version failed to download."
exit 1
strategy:
fail-fast: "false"
matrix:
node-version:
- latest
os:
- macos-15-intel
...
|
node-latest-aliases
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
40112
|
25668
|
137
|
5
|
949feb2413d6458794dcd2491c4babbbce0c15c1
|
0
|
node-latest-aliases (node, macos-15-intel)
|
0
|
name: versions
"on":
pull_request:
name: versions
"on":
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
jobs:
node-latest-aliases:
name: node-latest-aliases (node, macos-15-intel)
runs-on: macos-15-intel
steps:
- id: version
name: Get node version
run: |
latestNodeVersion=$(curl https://nodejs.org/dist/index.json | jq -r '. [0].version')
echo "LATEST_NODE_VERSION=$latestNodeVersion" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Setup Node
uses: ./
with:
node-version: ${{ matrix.node-version }}
- id: updatedVersion
name: Retrieve version after install
run: |
updatedVersion=$(echo $(node --version))
echo "NODE_VERSION_UPDATED=$updatedVersion" >> $GITHUB_OUTPUT
shell: bash
- if: ${{ steps.version.outputs.LATEST_NODE_VERSION != steps.updatedVersion.outputs.NODE_VERSION_UPDATED}}
name: Compare versions
run: |
echo "Latest node version failed to download."
exit 1
strategy:
fail-fast: "false"
matrix:
node-version:
- node
os:
- macos-15-intel
...
|
node-latest-aliases
|
null
|
["macos-15-intel"]
|
0
|
5
|
0
|
0
|
1791844717
|
1791844717
|
|
0
|
|
0
|
Edit
Delete
|
|
1809
|
1133
|
9
|
5
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
iOS Lint
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
lint:
name: iOS Lint
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Install SwiftLint
run: brew install swiftlint
- name: Install SwiftFormat
run: brew install swiftformat
- name: Run SwiftLint
run: swiftlint lint --reporter github-actions-logging
working-directory: ios_keyboard/HaizhanKeyboardApp
- name: Run SwiftFormat Lint
run: swiftformat --lint .
working-directory: ios_keyboard/HaizhanKeyboardApp
...
|
lint
|
null
|
["macos-14"]
|
0
|
3
|
0
|
1772178609
|
1772177363
|
1772178609
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
1810
|
1133
|
9
|
5
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
iOS Target Validation
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
test:
name: iOS Target Validation
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Run iOS Tests
run: |
xcodebuild test \
-project ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj \
-scheme HaizhanKeyboardApp \
-destination 'platform=iOS Simulator,name=iPhone 15' \
-resultBundlePath ios_keyboard/HaizhanKeyboardApp/TestResults.xcresult
- if: always()
name: Upload test results
uses: actions/upload-artifact@v4
with:
name: ios-test-results
path: ios_keyboard/HaizhanKeyboardApp/TestResults.xcresult
...
|
test
|
["lint"]
|
["macos-14"]
|
0
|
3
|
0
|
1772178609
|
1772177363
|
1772178609
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
1811
|
1133
|
9
|
5
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
iOS Build
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
build:
name: iOS Build
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Build iOS Targets
run: |
xcodebuild build \
-project ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj \
-scheme HaizhanKeyboardApp \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 15'
- if: always()
name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ios-build
path: ios_keyboard/HaizhanKeyboardApp/build
...
|
build
|
["test"]
|
["macos-14"]
|
0
|
3
|
0
|
1772178609
|
1772177363
|
1772178609
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
1827
|
1141
|
9
|
5
|
22125e0f1e435efabf81ec0007a1b56996cb0776
|
0
|
iOS Lint
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
lint:
name: iOS Lint
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Install SwiftLint
run: brew install swiftlint
- name: Install SwiftFormat
run: brew install swiftformat
- name: Run SwiftLint
run: swiftlint lint --reporter github-actions-logging
working-directory: ios_keyboard/HaizhanKeyboardApp
- name: Run SwiftFormat Lint
run: swiftformat --lint .
working-directory: ios_keyboard/HaizhanKeyboardApp
...
|
lint
|
null
|
["macos-14"]
|
0
|
3
|
0
|
1772284752
|
1772178609
|
1772284752
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
1828
|
1141
|
9
|
5
|
22125e0f1e435efabf81ec0007a1b56996cb0776
|
0
|
iOS Target Validation
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
test:
name: iOS Target Validation
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Run iOS Tests
run: |
xcodebuild test \
-project ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj \
-scheme HaizhanKeyboardApp \
-destination 'platform=iOS Simulator,name=iPhone 15' \
-resultBundlePath ios_keyboard/HaizhanKeyboardApp/TestResults.xcresult
- if: always()
name: Upload test results
uses: actions/upload-artifact@v4
with:
name: ios-test-results
path: ios_keyboard/HaizhanKeyboardApp/TestResults.xcresult
...
|
test
|
["lint"]
|
["macos-14"]
|
0
|
3
|
0
|
1772284752
|
1772178609
|
1772284752
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
1829
|
1141
|
9
|
5
|
22125e0f1e435efabf81ec0007a1b56996cb0776
|
0
|
iOS Build
|
0
|
name: iOS CI
"on":
push:
branc name: iOS CI
"on":
push:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
- '.github/workflows/ios-ci.yml'
pull_request:
branches: [main, develop]
paths:
- 'ios_keyboard/**'
- 'shared/**'
env:
XCODE_VERSION: "15.2"
jobs:
build:
name: iOS Build
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: |
TARGET_XCODE="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
if [ -d "$TARGET_XCODE" ]; then
sudo xcode-select -s "$TARGET_XCODE"
else
echo "Xcode version $TARGET_XCODE not found, use default xcode-select target."
fi
- name: Build iOS Targets
run: |
xcodebuild build \
-project ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj \
-scheme HaizhanKeyboardApp \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 15'
- if: always()
name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ios-build
path: ios_keyboard/HaizhanKeyboardApp/build
...
|
build
|
["test"]
|
["macos-14"]
|
0
|
3
|
0
|
1772284752
|
1772178609
|
1772284752
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
17
|
16
|
2
|
2
|
062acdd73d520de0360ff9d9158e60f202a02578
|
0
|
deploy
|
0
|
name: Smart Deploy via Rsync Daemon
"on": name: Smart Deploy via Rsync Daemon
"on": [push]
jobs:
deploy:
name: deploy
runs-on: gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1
steps:
- name: Checkout code manually
run: |
# 调试输出
echo "GITEA_HOST: $GITEA_HOST"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_SHA: ${{ github.sha }}"
if [ -z "$GITEA_HOST" ]; then
echo "❌ GITEA_HOST secret is missing!"
exit 1
fi
# 使用 github 上下文变量
REPO="${{ github.repository }}"
SHA="${{ github.sha }}"
if [ -z "$REPO" ] || [ -z "$SHA" ]; then
echo "❌ Missing GITHUB_REPOSITORY or GITHUB_SHA"
exit 1
fi
REPO_URL="https://${GITEA_TOKEN}@${GITEA_HOST}/${REPO}.git"
echo "Cloning from: ${REPO_URL//${GITEA_TOKEN}/***REDACTED***} (SHA: $SHA)"
git init
git remote add origin "$REPO_URL"
git fetch --depth=1 origin "$SHA"
git checkout "$SHA"
env:
GITEA_HOST: ${{ secrets.GITEAS_HOST }}
GITEA_TOKEN: ${{ secrets.GITEAS_TOKEN }}
- name: Prepare rsync password file
run: |
echo "$RSYNC_PASSWORD" > /tmp/rsync.pass
chmod 600 /tmp/rsync.pass
env:
RSYNC_PASSWORD: ${{ secrets.TEST_RSYNC_SECRETS }}
- name: Get commit message and decide sync mode
run: "COMMIT_MSG=$(git log -1 --pretty=%B | head -n1)\necho \"Commit message: $COMMIT_MSG\"\n\nRSYNC_TARGET=\"rsync://${RSYNC_USER}@${RSYNC_HOST}/${RSYNC_MODULE}/\"\n\nif [[ \"$COMMIT_MSG\" == *\"全量同步\"* ]] || [[ \"$COMMIT_MSG\" == *\"full sync\"* ]]; then\n echo \"\U0001F50D Full sync requested...\"\n rsync -avz --delete \\\n --exclude='.git' \\\n --exclude='.gitea' \\\n --exclude='node_modules/' \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\nelse\n echo \"\U0001F504 Incremental sync...\"\n\n if git rev-parse HEAD~1 >/dev/null 2>&1; then\n git diff --name-only HEAD~1 HEAD > /tmp/changed.txt\n else\n find . -type f -not -path './.git/*' -not -path './.gitea/*' | sed 's|^\\./||' > /tmp/changed.txt\n fi\n\n if [ -s /tmp/changed.txt ]; then\n echo \"Files to sync:\"\n cat /tmp/changed.txt\n \n rsync -avz --relative \\\n --files-from=/tmp/changed.txt \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\n else\n echo \"✅ No files changed.\"\n fi\nfi\n"
env:
RSYNC_HOST: ${{ secrets.TEST_RSYNC_HOST }}
RSYNC_USER: ${{ secrets.TEST_RSYNC_USER }}
RSYNC_MODULE: ftp
- if: always()
name: Clean up
run: rm -f /tmp/rsync.pass
...
|
deploy
|
null
|
["gitea.g-hi.com/zhangjunnan/gitea-runner:node ["gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1"]...
|
0
|
3
|
0
|
1770877321
|
1770877295
|
1770877321
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
18
|
17
|
2
|
2
|
5bb99418afc48f8e77d3cdb4edd9fa1390476c57
|
0
|
deploy
|
0
|
name: Smart Deploy via Rsync Daemon
"on": name: Smart Deploy via Rsync Daemon
"on": [push]
jobs:
deploy:
name: deploy
runs-on: gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1
steps:
- name: Checkout code manually
run: |
# 调试输出
echo "GITEA_HOST: $GITEA_HOST"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_SHA: ${{ github.sha }}"
if [ -z "$GITEA_HOST" ]; then
echo "❌ GITEA_HOST secret is missing!"
exit 1
fi
# 使用 github 上下文变量
REPO="${{ github.repository }}"
SHA="${{ github.sha }}"
if [ -z "$REPO" ] || [ -z "$SHA" ]; then
echo "❌ Missing GITHUB_REPOSITORY or GITHUB_SHA"
exit 1
fi
REPO_URL="https://${GITEA_TOKEN}@${GITEA_HOST}/${REPO}.git"
echo "Cloning from: ${REPO_URL//${GITEA_TOKEN}/***REDACTED***} (SHA: $SHA)"
git init
git remote add origin "$REPO_URL"
git fetch --depth=1 origin "$SHA"
git checkout "$SHA"
env:
GITEA_HOST: ${{ secrets.GITEAS_HOST }}
GITEA_TOKEN: ${{ secrets.GITEAS_TOKEN }}
- name: Prepare rsync password file
run: |
echo "$RSYNC_PASSWORD" > /tmp/rsync.pass
chmod 600 /tmp/rsync.pass
env:
RSYNC_PASSWORD: ${{ secrets.TEST_RSYNC_SECRETS }}
- name: Get commit message and decide sync mode
run: "COMMIT_MSG=$(git log -1 --pretty=%B | head -n1)\necho \"Commit message: $COMMIT_MSG\"\n\nRSYNC_TARGET=\"rsync://${RSYNC_USER}@${RSYNC_HOST}/${RSYNC_MODULE}/\"\n\nif [[ \"$COMMIT_MSG\" == *\"全量同步\"* ]] || [[ \"$COMMIT_MSG\" == *\"full sync\"* ]]; then\n echo \"\U0001F50D Full sync requested...\"\n rsync -avz --delete \\\n --exclude='.git' \\\n --exclude='.gitea' \\\n --exclude='node_modules/' \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\nelse\n echo \"\U0001F504 Incremental sync...\"\n\n if git rev-parse HEAD~1 >/dev/null 2>&1; then\n git diff --name-only HEAD~1 HEAD > /tmp/changed.txt\n else\n find . -type f -not -path './.git/*' -not -path './.gitea/*' | sed 's|^\\./||' > /tmp/changed.txt\n fi\n\n if [ -s /tmp/changed.txt ]; then\n echo \"Files to sync:\"\n cat /tmp/changed.txt\n \n rsync -avz --relative \\\n --files-from=/tmp/changed.txt \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\n else\n echo \"✅ No files changed.\"\n fi\nfi\n"
env:
RSYNC_HOST: ${{ secrets.TEST_RSYNC_HOST }}
RSYNC_USER: ${{ secrets.TEST_RSYNC_USER }}
RSYNC_MODULE: ftp
- if: always()
name: Clean up
run: rm -f /tmp/rsync.pass
...
|
deploy
|
null
|
["gitea.g-hi.com/zhangjunnan/gitea-runner:node ["gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1"]...
|
0
|
3
|
0
|
1770877939
|
1770877350
|
1770877939
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
19
|
18
|
2
|
2
|
fbac0054c597227db514fa1c6581f5e9002a4c84
|
0
|
deploy
|
0
|
name: Smart Deploy via Rsync Daemon
"on": name: Smart Deploy via Rsync Daemon
"on": [push]
jobs:
deploy:
name: deploy
runs-on: gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1
steps:
- name: Checkout code manually
run: |
# 调试输出
echo "GITEA_HOST: $GITEA_HOST"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_SHA: ${{ github.sha }}"
if [ -z "$GITEA_HOST" ]; then
echo "❌ GITEA_HOST secret is missing!"
exit 1
fi
# 使用 github 上下文变量
REPO="${{ github.repository }}"
SHA="${{ github.sha }}"
if [ -z "$REPO" ] || [ -z "$SHA" ]; then
echo "❌ Missing GITHUB_REPOSITORY or GITHUB_SHA"
exit 1
fi
REPO_URL="https://${GITEA_TOKEN}@${GITEA_HOST}/${REPO}.git"
echo "Cloning from: ${REPO_URL//${GITEA_TOKEN}/***REDACTED***} (SHA: $SHA)"
git init
git remote add origin "$REPO_URL"
git fetch --depth=1 origin "$SHA"
git checkout "$SHA"
env:
GITEA_HOST: ${{ secrets.GITEAS_HOST }}
GITEA_TOKEN: ${{ secrets.GITEAS_TOKEN }}
- name: Prepare rsync password file
run: |
echo "$RSYNC_PASSWORD" > /tmp/rsync.pass
chmod 600 /tmp/rsync.pass
env:
RSYNC_PASSWORD: ${{ secrets.TEST_RSYNC_SECRETS }}
- name: Get commit message and decide sync mode
run: "COMMIT_MSG=$(git log -1 --pretty=%B | head -n1)\necho \"Commit message: $COMMIT_MSG\"\n\nRSYNC_TARGET=\"rsync://${RSYNC_USER}@${RSYNC_HOST}/${RSYNC_MODULE}/\"\n\nif [[ \"$COMMIT_MSG\" == *\"全量同步\"* ]] || [[ \"$COMMIT_MSG\" == *\"full sync\"* ]]; then\n echo \"\U0001F50D Full sync requested...\"\n rsync -avz --delete \\\n --exclude='.git' \\\n --exclude='.gitea' \\\n --exclude='node_modules/' \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\nelse\n echo \"\U0001F504 Incremental sync...\"\n\n if git rev-parse HEAD~1 >/dev/null 2>&1; then\n git diff --name-only HEAD~1 HEAD > /tmp/changed.txt\n else\n find . -type f -not -path './.git/*' -not -path './.gitea/*' | sed 's|^\\./||' > /tmp/changed.txt\n fi\n\n if [ -s /tmp/changed.txt ]; then\n echo \"Files to sync:\"\n cat /tmp/changed.txt\n \n rsync -avz --relative \\\n --files-from=/tmp/changed.txt \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\n else\n echo \"✅ No files changed.\"\n fi\nfi\n"
env:
RSYNC_HOST: ${{ secrets.TEST_RSYNC_HOST }}
RSYNC_USER: ${{ secrets.TEST_RSYNC_USER }}
RSYNC_MODULE: ftp
- if: always()
name: Clean up
run: rm -f /tmp/rsync.pass
...
|
deploy
|
null
|
["gitea.g-hi.com/zhangjunnan/gitea-runner:node ["gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1"]...
|
0
|
3
|
0
|
1770878173
|
1770878076
|
1770878173
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
20
|
19
|
2
|
2
|
b277cb95b0e9e11aded5a72555e5bfe6066bd7b5
|
0
|
deploy
|
0
|
name: Smart Deploy via Rsync Daemon
"on": name: Smart Deploy via Rsync Daemon
"on": [push]
jobs:
deploy:
name: deploy
runs-on: gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1
steps:
- name: Checkout code manually
run: |
# 调试输出
echo "GITEA_HOST: $GITEA_HOST"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_SHA: ${{ github.sha }}"
if [ -z "$GITEA_HOST" ]; then
echo "❌ GITEA_HOST secret is missing!"
exit 1
fi
# 使用 github 上下文变量
REPO="${{ github.repository }}"
SHA="${{ github.sha }}"
if [ -z "$REPO" ] || [ -z "$SHA" ]; then
echo "❌ Missing GITHUB_REPOSITORY or GITHUB_SHA"
exit 1
fi
REPO_URL="https://${GITEA_TOKEN}@${GITEA_HOST}/${REPO}.git"
echo "Cloning from: ${REPO_URL//${GITEA_TOKEN}/***REDACTED***} (SHA: $SHA)"
git init
git remote add origin "$REPO_URL"
git fetch --depth=1 origin "$SHA"
git checkout "$SHA"
env:
GITEA_HOST: ${{ secrets.GITEAS_HOST }}
GITEA_TOKEN: ${{ secrets.GITEAS_TOKEN }}
- name: Prepare rsync password file
run: |
echo "$RSYNC_PASSWORD" > /tmp/rsync.pass
chmod 600 /tmp/rsync.pass
env:
RSYNC_PASSWORD: ${{ secrets.TEST_RSYNC_SECRETS }}
- name: Get commit message and decide sync mode
run: "COMMIT_MSG=$(git log -1 --pretty=%B | head -n1)\necho \"Commit message: $COMMIT_MSG\"\n\nRSYNC_TARGET=\"rsync://${RSYNC_USER}@${RSYNC_HOST}/${RSYNC_MODULE}/\"\n\nif [[ \"$COMMIT_MSG\" == *\"全量同步\"* ]] || [[ \"$COMMIT_MSG\" == *\"full sync\"* ]]; then\n echo \"\U0001F50D Full sync requested...\"\n rsync -avz --delete \\\n --exclude='.git' \\\n --exclude='.gitea' \\\n --exclude='node_modules/' \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\nelse\n echo \"\U0001F504 Incremental sync...\"\n\n if git rev-parse HEAD~1 >/dev/null 2>&1; then\n git diff --name-only HEAD~1 HEAD > /tmp/changed.txt\n else\n find . -type f -not -path './.git/*' -not -path './.gitea/*' | sed 's|^\\./||' > /tmp/changed.txt\n fi\n\n if [ -s /tmp/changed.txt ]; then\n echo \"Files to sync:\"\n cat /tmp/changed.txt\n \n rsync -avz --relative \\\n --files-from=/tmp/changed.txt \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\n else\n echo \"✅ No files changed.\"\n fi\nfi\n"
env:
RSYNC_HOST: ${{ secrets.TEST_RSYNC_HOST }}
RSYNC_USER: ${{ secrets.TEST_RSYNC_USER }}
RSYNC_MODULE: ftp
- if: always()
name: Clean up
run: rm -f /tmp/rsync.pass
...
|
deploy
|
null
|
["gitea.g-hi.com/zhangjunnan/gitea-runner:node ["gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1"]...
|
0
|
3
|
0
|
1770878314
|
1770878195
|
1770878314
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
21
|
20
|
2
|
2
|
22ffb09cf279f85db485e386b24c7d3a1cdda4e6
|
0
|
deploy
|
0
|
name: Smart Deploy via Rsync Daemon
"on": name: Smart Deploy via Rsync Daemon
"on": [push]
jobs:
deploy:
name: deploy
runs-on: docker://gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1
steps:
- name: Checkout code manually
run: |
# 调试输出
echo "GITEA_HOST: $GITEA_HOST"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_SHA: ${{ github.sha }}"
if [ -z "$GITEA_HOST" ]; then
echo "❌ GITEA_HOST secret is missing!"
exit 1
fi
# 使用 github 上下文变量
REPO="${{ github.repository }}"
SHA="${{ github.sha }}"
if [ -z "$REPO" ] || [ -z "$SHA" ]; then
echo "❌ Missing GITHUB_REPOSITORY or GITHUB_SHA"
exit 1
fi
REPO_URL="https://${GITEA_TOKEN}@${GITEA_HOST}/${REPO}.git"
echo "Cloning from: ${REPO_URL//${GITEA_TOKEN}/***REDACTED***} (SHA: $SHA)"
git init
git remote add origin "$REPO_URL"
git fetch --depth=1 origin "$SHA"
git checkout "$SHA"
env:
GITEA_HOST: ${{ secrets.GITEAS_HOST }}
GITEA_TOKEN: ${{ secrets.GITEAS_TOKEN }}
- name: Prepare rsync password file
run: |
echo "$RSYNC_PASSWORD" > /tmp/rsync.pass
chmod 600 /tmp/rsync.pass
env:
RSYNC_PASSWORD: ${{ secrets.TEST_RSYNC_SECRETS }}
- name: Get commit message and decide sync mode
run: "COMMIT_MSG=$(git log -1 --pretty=%B | head -n1)\necho \"Commit message: $COMMIT_MSG\"\n\nRSYNC_TARGET=\"rsync://${RSYNC_USER}@${RSYNC_HOST}/${RSYNC_MODULE}/\"\n\nif [[ \"$COMMIT_MSG\" == *\"全量同步\"* ]] || [[ \"$COMMIT_MSG\" == *\"full sync\"* ]]; then\n echo \"\U0001F50D Full sync requested...\"\n rsync -avz --delete \\\n --exclude='.git' \\\n --exclude='.gitea' \\\n --exclude='node_modules/' \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\nelse\n echo \"\U0001F504 Incremental sync...\"\n\n if git rev-parse HEAD~1 >/dev/null 2>&1; then\n git diff --name-only HEAD~1 HEAD > /tmp/changed.txt\n else\n find . -type f -not -path './.git/*' -not -path './.gitea/*' | sed 's|^\\./||' > /tmp/changed.txt\n fi\n\n if [ -s /tmp/changed.txt ]; then\n echo \"Files to sync:\"\n cat /tmp/changed.txt\n \n rsync -avz --relative \\\n --files-from=/tmp/changed.txt \\\n --password-file=/tmp/rsync.pass \\\n ./ \\\n \"$RSYNC_TARGET\"\n else\n echo \"✅ No files changed.\"\n fi\nfi\n"
env:
RSYNC_HOST: ${{ secrets.TEST_RSYNC_HOST }}
RSYNC_USER: ${{ secrets.TEST_RSYNC_USER }}
RSYNC_MODULE: ftp
- if: always()
name: Clean up
run: rm -f /tmp/rsync.pass
...
|
deploy
|
null
|
["docker://gitea.g-hi.com/zhangjunnan/gitea-ru ["docker://gitea.g-hi.com/zhangjunnan/gitea-runner:node20-rsync-v1"]...
|
0
|
3
|
0
|
1770878361
|
1770878332
|
1770878361
|
NULL
|
NULL
|
|
0
|
Edit
Delete
|
|
40303
|
25749
|
140
|
5
|
af595e623eec1ede52d6322f53b635d5def0a95a
|
0
|
Install Cosign ${{ matrix.cosign_release }} on ${{ Install Cosign ${{ matrix.cosign_release }} on ${{ matrix.os }} and test presence in path...
|
0
|
name: test-cosign
"on":
pull_request:
name: test-cosign
"on":
pull_request:
push:
branches:
- 'main'
jobs:
test_cosign_action_custom:
name: Install Cosign ${{ matrix.cosign_release }} on ${{ matrix.os }} and test presence in path
runs-on: ""
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
persist-credentials: "false"
- name: Install Cosign
uses: ./
with:
cosign-release: ${{ matrix.cosign_release }}
- name: Check install!
run: cosign version
- name: Check root directory
run: |
if [[ $(git diff --stat) != '' ]]; then
echo 'should be clean'
exit 1
else
exit 0
fi
shell: bash
strategy:
fail-fast: "false"
permissions:
contents: read
permissions: {}
...
|
test_cosign_action_custom
|
["get_all_cosign_releases"]
|
[""]
|
0
|
4
|
0
|
0
|
1791844750
|
1791859055
|
|
1
|
|
0
|
Edit
Delete
|