forked from mirrors/homebox
add publish workflow
This commit is contained in:
parent
bd67c1c56c
commit
6175411f93
2 changed files with 85 additions and 34 deletions
67
.github/workflows/partial-publish.yaml
vendored
Normal file
67
.github/workflows/partial-publish.yaml
vendored
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
name: Frontend / E2E
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
tag:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
release:
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
name: "Publish Homebox"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.19
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: login to container registry
|
||||||
|
run: docker login ghcr.io --username hay-kot --password $CR_PAT
|
||||||
|
env:
|
||||||
|
CR_PAT: ${{ secrets.CR_PAT }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: user/app:latest
|
||||||
|
|
||||||
|
- name: build nightly the image
|
||||||
|
if: ${{ inputs.release == false }}
|
||||||
|
run: |
|
||||||
|
docker build --push \
|
||||||
|
--tag ghcr.io/hay-kot/homebox:{{ inputs.tag }} \
|
||||||
|
--build-arg COMMIT=$(git rev-parse HEAD) \
|
||||||
|
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||||
|
--platform linux/amd64,linux/arm64,linux/arm/v7 .
|
||||||
|
|
||||||
|
- name: build release tagged the image
|
||||||
|
if: ${{ inputs.release == true }}
|
||||||
|
run: |
|
||||||
|
docker build --push \
|
||||||
|
--tag ghcr.io/hay-kot/homebox:nightly \
|
||||||
|
--tag ghcr.io/hay-kot/homebox:latest \
|
||||||
|
--tag ghcr.io/hay-kot/homebox:{{ inputs.tag }} \
|
||||||
|
--build-arg COMMIT=$(git rev-parse HEAD) \
|
||||||
|
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||||
|
--platform linux/amd64,linux/arm64,linux/arm/v7 .
|
50
.github/workflows/publish.yaml
vendored
50
.github/workflows/publish.yaml
vendored
|
@ -4,6 +4,9 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
|
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
|
||||||
|
@ -28,44 +31,25 @@ jobs:
|
||||||
- uses: superfly/flyctl-actions/setup-flyctl@master
|
- uses: superfly/flyctl-actions/setup-flyctl@master
|
||||||
- run: flyctl deploy --remote-only
|
- run: flyctl deploy --remote-only
|
||||||
|
|
||||||
publish:
|
publish-tag:
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
name: "Publish Tag"
|
||||||
|
needs:
|
||||||
|
- backend-tests
|
||||||
|
- frontend-tests
|
||||||
|
uses: hay-kot/homebox/.github/workflows/partial-publish.yaml@main
|
||||||
|
with:
|
||||||
|
release: true
|
||||||
|
tag: ${{ github.event.release.tag_name }}
|
||||||
|
|
||||||
|
publish-nightly:
|
||||||
name: "Publish Nightly"
|
name: "Publish Nightly"
|
||||||
needs:
|
needs:
|
||||||
- backend-tests
|
- backend-tests
|
||||||
- frontend-tests
|
- frontend-tests
|
||||||
runs-on: ubuntu-latest
|
uses: hay-kot/homebox/.github/workflows/partial-publish.yaml@main
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Go
|
|
||||||
uses: actions/setup-go@v2
|
|
||||||
with:
|
with:
|
||||||
go-version: 1.19
|
tag: nightly
|
||||||
|
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: login to container registry
|
|
||||||
run: docker login ghcr.io --username hay-kot --password $CR_PAT
|
|
||||||
env:
|
|
||||||
CR_PAT: ${{ secrets.CR_PAT }}
|
|
||||||
|
|
||||||
- name: build the image
|
|
||||||
run: |
|
|
||||||
docker build --push \
|
|
||||||
--tag ghcr.io/hay-kot/homebox:nightly \
|
|
||||||
--build-arg COMMIT=$(git rev-parse HEAD) \
|
|
||||||
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
|
||||||
--platform linux/amd64,linux/arm64,linux/arm/v7 .
|
|
||||||
|
|
||||||
deploy-docs:
|
deploy-docs:
|
||||||
name: Deploy docs
|
name: Deploy docs
|
||||||
|
|
Loading…
Reference in a new issue