Files
vtsuru.live/.github/workflows/bun.yml
2025-03-19 10:22:17 +08:00

68 lines
1.6 KiB
YAML

# 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 }}