v18.1.6 #14
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For more information see: | |
# - https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
# - https://docs.github.com/en/actions/learn-github-actions/contexts#github-context | |
name: release | |
on: | |
release: | |
types: | |
- created | |
env: | |
NODE_VERSION: 18.x | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.ref_name }}.${{ github.sha }}.release | |
cancel-in-progress: true | |
jobs: | |
release-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
github-ref-name: ${{ github.ref_name }} | |
github-sha: ${{ github.sha }} | |
- name: Build NGXS | |
run: yarn build | |
- name: Upload Build Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ngxs-build | |
path: ./@ngxs | |
retention-days: 1 | |
release-test: | |
runs-on: ubuntu-latest | |
needs: release-build | |
strategy: | |
matrix: | |
script: [lint, 'test'] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
github-ref-name: ${{ github.ref_name }} | |
github-sha: ${{ github.sha }} | |
- name: Run ${{ matrix.script }} | |
run: yarn nx run-many --target=${{ matrix.script }} --configuration=ci --all | |
- name: Upload coverage results to Code Climate | |
if: ${{ matrix.script == 'test:ci' }} | |
run: | | |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > /tmp/cc-test-reporter | |
chmod +x /tmp/cc-test-reporter | |
node tools/merge-reports.js --coverageDir=coverage/packages --reporterBinaryPath=/tmp/cc-test-reporter | |
/tmp/cc-test-reporter upload-coverage -i tmp/codeclimate-final.json | |
env: | |
CC_TEST_REPORTER_ID: 3f4c9a9d57ded045e0f9ab5d23e5bbcbf709bb85637bea555f1233e72134b818 # TODO: better store it in the repository secrets. Name the variable: CC_TEST_REPORTER_ID. Then delete this line and uncomment the next one | |
# CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
release-integration-test: | |
runs-on: ubuntu-latest | |
needs: release-build | |
strategy: | |
matrix: | |
script: | |
- 'integration:ng16' | |
- 'integration:ng17' | |
- 'integration:ng18' | |
- 'test:types' | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
github-ref-name: ${{ github.ref_name }} | |
github-sha: ${{ github.sha }} | |
- name: Run ${{ matrix.script }} | |
run: yarn ${{ matrix.script }} | |
- name: Upload an integration test artifact | |
if: ${{ startsWith( matrix.script, 'integration:' ) }} | |
uses: ./.github/actions/upload-integration-test-artifact | |
with: | |
script: ${{ matrix.script }} | |
release-bundlemon: | |
if: github.repository_owner == 'ngxs' | |
runs-on: ubuntu-latest | |
needs: release-integration-test | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
github-ref-name: ${{ github.ref_name }} | |
github-sha: ${{ github.sha }} | |
- name: Download integration test artifacts | |
uses: ./.github/actions/download-integration-test-artifacts | |
- name: Run BundleMon | |
run: yarn bundlemon | |
env: | |
BUNDLEMON_PROJECT_ID: 62b174ff6619780d8caf79fa | |
CI_COMMIT_SHA: ${{ github.sha }} | |
release-publish: | |
if: github.repository_owner == 'ngxs' | |
runs-on: ubuntu-latest | |
environment: npm-publish | |
needs: [release-build, release-test, release-integration-test, release-bundlemon] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
github-ref-name: ${{ github.ref_name }} | |
github-sha: ${{ github.sha }} | |
- name: Check @ngxs build artifacts | |
uses: ./.github/actions/check-build-artifacts | |
- name: Production release - publish tagged builds to all @ngxs packages | |
run: yarn publish:tagged | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |