diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml new file mode 100644 index 0000000..8ba5799 --- /dev/null +++ b/.gitea/workflows/docker.yml @@ -0,0 +1,45 @@ +name: Build and Publish Docker Image + +on: + push: + branches: [main] + workflow_dispatch: + +env: + IMAGE: git.alexav.gg/${{ gitea.repository }} + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Login to Gitea Registry + run: | + echo "${{ secrets.RUNNER_TOKEN }}" \ + | docker login git.alexav.gg -u "${{ gitea.actor }}" --password-stdin + + # The Dockerfile has two runnable stages and no sensible default: an + # untargeted build produces the last one (frontend) on its own, which + # then has nothing to proxy /api to. Both get published separately. + - name: Build and push + run: | + for target in backend frontend; do + docker build --target "$target" \ + -t "$IMAGE:$target-latest" \ + -t "$IMAGE:$target-$GITEA_SHA" . + docker push "$IMAGE:$target-latest" + docker push "$IMAGE:$target-$GITEA_SHA" + done + env: + GITEA_SHA: ${{ gitea.sha }} + + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - uses: https://git.alexav.gg/alex/deploy-action@main + with: + token: ${{ secrets.RUNNER_TOKEN }} + task: website_deploy diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index 4c095d2..0000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: docker - -on: - push: - branches: [master] - tags: ["v*"] - workflow_dispatch: - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - - steps: - - uses: actions/checkout@v5 - - - uses: docker/setup-buildx-action@v3 - - - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=raw,value=latest,enable={{is_default_branch}} - type=sha - type=ref,event=tag - type=semver,pattern={{version}} - - - uses: docker/build-push-action@v6 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max - # keeps the package listing clean - attestations show up in ghcr as - # extra untagged "unknown/unknown" entries - provenance: false - # add linux/arm64 here if the host running this is arm - platforms: linux/amd64 diff --git a/src/pages/App.tsx b/src/pages/App.tsx index 1ee0e6b..fd086cb 100644 --- a/src/pages/App.tsx +++ b/src/pages/App.tsx @@ -16,7 +16,7 @@ export default function App() {

- My day job is software QA at{" "} + My day job is Senior QA at{" "}