From 8a6ecff489cff606c3ef11a5cf26cc2090363313 Mon Sep 17 00:00:00 2001 From: Sparticuz Date: Fri, 13 Jan 2023 11:17:07 -0500 Subject: [PATCH] Create release.yml --- .github/workflows/release.yml | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2db8c41 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,66 @@ +name: Release + +on: + push: + tags: + - "*" + +env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + +jobs: + release: + name: Build and release + runs-on: ubuntu-latest + steps: + + # Install jq so I can edit package.json from the command line + - run: apt install jq -y + + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + + - run: npm ci # will be npm ci after I publish package-lock.json + + - run: npm run build + + - name: Release chromium on npmjs + run: npm publish + + # Change the package name to chromium-min, + # delete the bin folder from the files array + # so that it doesn't publish the binaries to -min + - name: Cleanup and prepare for chromium-min + run: | + jq '.name="@sparticuz/chromium-min"' package.json > .package.json + jq 'del(.files[] | select(. == "bin"))' .package.json > package.json + rm package-lock.json .package.json + npm install + + - name: Release chromium-min on npmjs + run: npm publish + + - name: Create Lambda Layer + run: make chromium-${{ github.ref_name }}-layer.zip + + - name: Create Chromium Pack + run: | + cd bin + tar -cvf chromium-${{ github.ref_name }}-pack.tar * + mv chromium-${{ github.ref_name }}-pack.tar .. + cd .. + + - name: Upload items to Github Release + uses: ncipollo/release-action@v1 + with: + tag: ${{ github.ref_name }} + artifacts: "chromium-${{ github.ref_name }}-layer.zip,chromium-${{ github.ref_name }}-pack.tar" + prerelease: false + draft: true + token: ${{ github.token }} + owner: Sparticuz + repo: chromium