homebox/.github/workflows/publish.yaml

85 lines
2 KiB
YAML
Raw Normal View History

2022-09-08 23:09:26 +00:00
name: Build Nightly
2022-08-30 02:30:36 +00:00
on:
push:
2022-09-09 18:49:51 +00:00
branches:
- main
2022-08-30 02:30:36 +00:00
2022-09-09 19:12:25 +00:00
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
2022-08-30 02:30:36 +00:00
jobs:
2022-09-09 18:49:51 +00:00
backend-tests:
name: "Backend Server Tests"
uses: hay-kot/homebox/.github/workflows/partial-backend.yaml@main
2022-09-09 18:49:51 +00:00
frontend-tests:
name: "Frontend and End-to-End Tests"
uses: hay-kot/homebox/.github/workflows/partial-frontend.yaml@main
2022-09-09 18:49:51 +00:00
2022-09-09 19:12:25 +00:00
deploy:
2022-09-09 19:34:19 +00:00
name: "Deploy Nightly to Fly.io"
2022-09-09 19:12:25 +00:00
runs-on: ubuntu-latest
needs:
- backend-tests
- frontend-tests
steps:
- uses: actions/checkout@v2
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: flyctl deploy --remote-only
2022-08-30 02:30:36 +00:00
publish:
2022-09-09 18:49:51 +00:00
name: "Publish Nightly"
2022-09-09 19:00:55 +00:00
needs:
- backend-tests
- frontend-tests
2022-08-30 02:30:36 +00:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
2022-09-08 23:09:26 +00:00
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v1
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: install buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
install: true
2022-08-30 02:30:36 +00:00
- name: login to container registry
run: docker login ghcr.io --username hay-kot --password $CR_PAT
env:
CR_PAT: ${{ secrets.CR_PAT }}
2022-09-08 23:09:26 +00:00
- name: build the image
run: |
2022-09-08 23:49:06 +00:00
docker build --push \
2022-09-08 23:45:13 +00:00
--tag ghcr.io/hay-kot/homebox:nightly \
2022-09-08 23:09:26 +00:00
--build-arg COMMIT=$(git rev-parse HEAD) \
2022-09-14 05:15:01 +00:00
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
2022-09-08 23:49:06 +00:00
--platform linux/amd64,linux/arm64,linux/arm/v7 .
2022-09-12 22:50:10 +00:00
deploy-docs:
name: Deploy docs
needs:
- publish
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@v2
- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: docs/mkdocs.yml
EXTRA_PACKAGES: build-base