diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 00000000..9c332a1d --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,53 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- + +name: "Publish" +on: + release: + types: [published] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Setup Node" + uses: actions/setup-node@v4 + with: + node-version: node + registry-url: "https://registry.npmjs.org" + + - name: "npm ci" + run: npm ci + + - name: "Build" + run: npm run build + + - name: "Linters" + run: npm run lint + + - name: "Node Unit Tests" + run: npm run test-unit + + - name: "Node Acceptance Tests" + run: npm run test-acceptance + + - name: "Attach release assets" + env: + GH_TOKEN: ${{ github.token }} + run: | + gh release upload ${{ github.event.release.tag_name }} \ + dist/ical.js \ + dist/ical.min.js \ + dist/ical.es5.cjs \ + dist/ical.es5.min.cjs + + - name: "npm publish" + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}