# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs name: Bun CI on: push: branches: [ "master" ] env: DOCKERHUB_SLUG: megghy/vtsuru_live GHCR_SLUG: ghcr.io/megghy/vtsuru_live jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - uses: actions/checkout@v4 - name: Use bun uses: oven-sh/setup-bun@v2 - name: 📥 Install dependencies run: bun install - name: 📦 Build run: bun run build - name: 📦 Upload SourceMap run: bunx @hyperdx/cli upload-sourcemaps --serviceKey ${{ secrets.HYPERDX_SERVICE_KEY }} --path dist/assets - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker meta id: meta uses: docker/metadata-action@v4 with: images: | ${{ env.DOCKERHUB_SLUG }} ${{ env.GHCR_SLUG }} - name: Get current time uses: josStorer/get-current-time@v2 id: time with: format: YYYYMMDD_HHmmss utcOffset: "+08:00" - name: Build Docker image and push uses: docker/build-push-action@v4 with: context: . push: true tags: | ${{ env.GHCR_SLUG }}:latest ${{ env.GHCR_SLUG }}:${{ steps.time.outputs.formattedTime }}