name: Release permissions: {} on: release: types: [published] jobs: publish: runs-on: ubuntu-latest environment: RELEASE permissions: contents: read id-token: write steps: - name: Checkout code uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 with: persist-credentials: false - name: Setup environment uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 with: node-version: '24.5.0' package-manager-cache: false registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: npm ci - name: Lint files run: npm run lint - name: Test run: npm test - name: Bundle run: npm run bundle - name: Publish to NPM run: npm publish --access public - name: Login to DockerHub uses: grafana/shared-workflows/actions/dockerhub-login@081a366728379fd0426b9cfef190e9a21c2d5418 # dockerhub-login/v1.0.3 - name: Login to DockerHub uses: grafana/shared-workflows/actions/dockerhub-login@c40eb37be87f39f641802f5f1cc746825d4a3e9b - name: Build docker image env: TAG_NAME: ${{ github.event.release.tag_name }} run: | VERSION=${TAG_NAME#v} # Removes 'v' prefix docker build . -t grafana/har-to-k6:$VERSION docker tag grafana/har-to-k6:$VERSION grafana/har-to-k6:latest docker push grafana/har-to-k6:$VERSION docker push grafana/har-to-k6:latest