name: Continuous Integration on: [push, pull_request] concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: packages: write jobs: lint: runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'npm' - run: npm clean-install - run: npm run lint test: runs-on: ubuntu-latest needs: lint steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'npm' - run: npm clean-install - run: npm test build: runs-on: ubuntu-latest needs: lint steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'npm' - run: npm clean-install - run: npm run build:standalone - name: Store build artifacts uses: actions/upload-artifact@v4 with: name: build path: dist/netzgrafik-frontend/ publish: runs-on: ubuntu-latest needs: build permissions: contents: read id-token: write steps: - uses: actions/checkout@v4 - name: Download build artifacts uses: actions/download-artifact@v4 with: name: build path: dist/netzgrafik-frontend/ - uses: actions/setup-node@v4 with: registry-url: 'https://registry.npmjs.org' - run: npm version --no-git-tag-version "0.0.0-snapshot.$GITHUB_SHA" - run: npm pkg delete dependencies optionalDependencies devDependencies - run: npm publish --provenance --access public --tag snapshot env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}