name: Build on: workflow_dispatch: push: tags: - v* permissions: contents: read jobs: deploy: name: Build everything runs-on: ubuntu-latest permissions: contents: write id-token: write environment: name: release steps: - name: Checkout uses: actions/checkout@v3 - name: Log in to Docker Hub uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: username: ${{ vars.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_SECRET }} - name: Get version id: version run: echo VERSION=$(git describe --exact-match --tags | sed 's/^v//') >> $GITHUB_OUTPUT - name: Install Typescript support run: npm install - name: Run tests run: npm test -- --run - name: Extract metadata for container id: meta uses: docker/metadata-action@v4 with: images: trustgraph/workbench-ui tags: | type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=sha - name: Build run: make service-package VERSION=${{ steps.version.outputs.VERSION }} - name: Build and push Docker image id: push uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 with: context: . file: ./Containerfile push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}