mirror of
https://github.com/lukaszraczylo/shared-actions.git
synced 2026-10-14 05:23:05 +00:00
Merge branch 'main' into feat/node-registry-workspace
This commit is contained in:
@@ -19,7 +19,7 @@ runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
cache: "npm"
|
||||
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
check-latest: true
|
||||
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -122,7 +122,7 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -136,7 +136,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -185,7 +185,7 @@ jobs:
|
||||
security-events: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -199,7 +199,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -226,7 +226,7 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -240,7 +240,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -264,7 +264,7 @@ jobs:
|
||||
security-events: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: ${{ inputs.lfs }}
|
||||
|
||||
@@ -277,7 +277,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -303,7 +303,7 @@ jobs:
|
||||
coverage: ${{ steps.coverage.outputs.coverage }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -317,7 +317,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
|
||||
@@ -103,7 +103,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
if: inputs.preflight
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: false
|
||||
|
||||
@@ -127,7 +127,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -154,7 +154,7 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: ${{ inputs.lfs }}
|
||||
|
||||
@@ -167,7 +167,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
cache: "npm"
|
||||
@@ -194,7 +194,7 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -229,7 +229,7 @@ jobs:
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -246,7 +246,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
cache: true
|
||||
@@ -308,7 +308,7 @@ jobs:
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -322,7 +322,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
if: inputs.preflight
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: false
|
||||
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: ${{ inputs.lfs }}
|
||||
|
||||
@@ -131,7 +131,7 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -162,7 +162,7 @@ jobs:
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
lfs: ${{ inputs.lfs }}
|
||||
@@ -184,7 +184,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
lfs: ${{ inputs.lfs }}
|
||||
|
||||
@@ -166,7 +166,7 @@ jobs:
|
||||
echo "pm=$pm" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
|
||||
|
||||
@@ -319,7 +319,7 @@ jobs:
|
||||
|
||||
# Not the triggering ref: a push or a manual run from another branch must still test the default branch.
|
||||
- name: Checkout the default branch
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
ref: ${{ steps.default.outputs.branch }}
|
||||
fetch-depth: 0
|
||||
@@ -328,8 +328,8 @@ jobs:
|
||||
- name: Merge the update branch locally
|
||||
id: merge
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git config user.name "Lukasz Raczylo"
|
||||
git config user.email "lukasz@raczylo.com"
|
||||
git fetch origin "$BRANCH"
|
||||
echo "head=$(git rev-parse FETCH_HEAD)" >> "$GITHUB_OUTPUT"
|
||||
echo "subject=$(git log -1 --format=%s FETCH_HEAD)" >> "$GITHUB_OUTPUT"
|
||||
@@ -408,7 +408,7 @@ jobs:
|
||||
|
||||
- name: Setup Go
|
||||
if: steps.merge.outputs.skip != 'true' && steps.detect.outputs.go == 'true'
|
||||
uses: actions/setup-go@v6
|
||||
uses: actions/setup-go@v7
|
||||
with:
|
||||
go-version: ${{ inputs.go-version }}
|
||||
check-latest: true
|
||||
@@ -443,7 +443,7 @@ jobs:
|
||||
|
||||
- name: Setup Node.js
|
||||
if: steps.merge.outputs.skip != 'true' && steps.detect.outputs.node == 'true'
|
||||
uses: actions/setup-node@v6
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
name: Validate
|
||||
|
||||
# Checks that a change to the workflows or composite actions still works. Renovate
|
||||
# opens a PR for each action bump; this workflow is the gate those PRs must pass.
|
||||
# The aggregate job "validate" is the one required status check.
|
||||
|
||||
# No paths filter: "validate" is a required status check, and a required check
|
||||
# that never runs blocks a PR that touches only other files.
|
||||
on:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
|
||||
concurrency:
|
||||
group: validate-${{ github.head_ref || github.ref_name }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
static:
|
||||
name: Static checks
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
# actionlint, then every external `uses:` reference must resolve.
|
||||
- name: Check workflows and action references
|
||||
run: scripts/check-actions.sh --ci
|
||||
|
||||
selftest-go:
|
||||
name: Self-test go-test action
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
# The local path runs the action as it is on this branch, not at @main.
|
||||
- name: Run the go-test action on the fixture module
|
||||
uses: ./.github/actions/go-test
|
||||
with:
|
||||
working-directory: testdata/selftest/go
|
||||
|
||||
selftest-node-build:
|
||||
name: Self-test node-build action
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
|
||||
- name: Run the node-build action on the fixture project
|
||||
uses: ./.github/actions/node-build
|
||||
with:
|
||||
build-script: cd testdata/selftest/node && npm ci && npm run build
|
||||
cache-dependency-path: testdata/selftest/node/package-lock.json
|
||||
|
||||
selftest-node-pr:
|
||||
name: Self-test node-pr workflow
|
||||
uses: ./.github/workflows/node-pr.yaml
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
with:
|
||||
working-directory: testdata/selftest/node
|
||||
require-tests: true
|
||||
|
||||
validate:
|
||||
name: validate
|
||||
if: always()
|
||||
needs: [static, selftest-go, selftest-node-build, selftest-node-pr]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Require every check to pass
|
||||
env:
|
||||
RESULTS: ${{ join(needs.*.result, ' ') }}
|
||||
run: |
|
||||
echo "results: $RESULTS"
|
||||
for r in $RESULTS; do
|
||||
if [ "$r" != success ]; then
|
||||
echo "::error::a validation job finished as '$r'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user