mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 10:25:13 +00:00
Cancel any in-progress publish when a new push to staged arrives, ensuring only the latest version is published to main. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
name: Publish to main
|
|
|
|
on:
|
|
push:
|
|
branches: [staged]
|
|
|
|
concurrency:
|
|
group: publish-to-main
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout staged branch
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: staged
|
|
fetch-depth: 0
|
|
|
|
- name: Extract Node version from package.json
|
|
id: node-version
|
|
run: |
|
|
NODE_VERSION=$(jq -r '.engines.node // "22"' package.json)
|
|
echo "version=${NODE_VERSION}" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ steps.node-version.outputs.version }}
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Materialize plugin files
|
|
run: node eng/materialize-plugins.mjs
|
|
|
|
- name: Build generated files
|
|
run: npm run build
|
|
|
|
- name: Fix line endings
|
|
run: bash scripts/fix-line-endings.sh
|
|
|
|
- name: Publish to main
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add -A
|
|
git commit -m "chore: publish from staged [skip ci]" --allow-empty
|
|
git push origin HEAD:main --force
|