2024-03-16 02:36:04 +00:00
name : release-pr
2023-05-15 21:26:21 +00:00
on :
issue_comment :
types : [ created]
env :
# 7 GiB by default on GitHub, setting to 6 GiB
NODE_OPTIONS : --max-old-space-size=6144
2023-06-02 17:14:21 +00:00
permissions :
contents : read
2023-05-15 21:26:21 +00:00
jobs :
release-pr :
2023-07-20 09:58:58 +00:00
if : github.repository == 'nuxt/nuxt' && github.event.issue.pull_request && github.event.comment.body == '/trigger release'
2024-06-29 21:31:50 +00:00
concurrency :
group : release
2023-05-15 21:26:21 +00:00
permissions :
id-token : write
2023-05-15 21:53:25 +00:00
pull-requests : write
2023-05-15 21:26:21 +00:00
runs-on : ubuntu-latest
timeout-minutes : 20
steps :
- name : Ensure action is by maintainer
2024-05-14 16:43:40 +00:00
uses : octokit/request-action@872c5c97b3c85c23516a572f02b31401ef82415d # v2.3.1
2023-05-15 21:26:21 +00:00
id : check_role
with :
2023-05-15 21:31:14 +00:00
route : GET /repos/nuxt/nuxt/collaborators/${{ github.event.comment.user.login }}
2023-05-15 21:26:21 +00:00
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
2024-06-19 19:09:04 +00:00
- name : Get PR Info
id : pr
env :
PR_NUMBER : ${{ github.event.issue.number }}
GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
GH_REPO : ${{ github.repository }}
COMMENT_AT : ${{ github.event.comment.created_at }}
run : |
2024-09-11 14:54:22 +00:00
pr="$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/"${GH_REPO}"/pulls/"${PR_NUMBER}")"
2024-06-19 19:09:04 +00:00
head_sha="$(echo "$pr" | jq -r .head.sha)"
updated_at="$(echo "$pr" | jq -r .updated_at)"
2024-06-24 09:40:33 +00:00
if [[ $(date -d "$updated_at" +%s) -gt $(date -d "$COMMENT_AT" +%s) ]]; then
exit 1
fi
2024-06-29 21:31:50 +00:00
2024-09-11 14:54:22 +00:00
echo "head_sha=$head_sha" >> "$GITHUB_OUTPUT"
2024-09-25 22:31:40 +00:00
- uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
2023-05-15 21:26:21 +00:00
with :
2024-06-19 19:09:04 +00:00
ref : ${{ steps.pr.outputs.head_sha }}
fetch-depth : 1
2023-05-15 21:26:21 +00:00
- run : corepack enable
2024-09-19 15:35:29 +00:00
- uses : actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
2023-05-15 21:26:21 +00:00
with :
2023-09-11 22:46:22 +00:00
node-version : 20
2023-05-15 21:26:21 +00:00
cache : "pnpm"
- name : Install dependencies
run : pnpm install
- name : Build
run : pnpm build
- name : Release Edge
2023-05-15 21:56:42 +00:00
run : ./scripts/release-edge.sh pr-${{ github.event.issue.number }}
2023-05-15 21:26:21 +00:00
env :
NODE_AUTH_TOKEN : ${{ secrets.NODE_AUTH_TOKEN }}
NPM_CONFIG_PROVENANCE : true
2023-05-15 21:53:25 +00:00
- name : Post comment
2023-11-20 09:31:18 +00:00
uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
2023-05-15 21:53:25 +00:00
with :
github-token : ${{ secrets.GITHUB_TOKEN }}
script : |
github.rest.issues.createComment({
issue_number : context.issue.number,
owner : context.repo.owner,
repo : context.repo.repo,
2023-10-12 14:17:38 +00:00
body: `:rocket : Release triggered! You can now install [nuxt@npm:nuxt-nightly@pr-${{ github.event.issue.number }}](https://www.npmjs.com/package/nuxt-nightly/v/pr-${{ github.event.issue.number }})`
2023-05-15 21:53:25 +00:00
})