feat: add GitHub Actions workflows for Docker image creation and testing on Windows
Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
This commit is contained in:
58
.gitea/workflows/docker-image-linux.yml
Normal file
58
.gitea/workflows/docker-image-linux.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
name: Create and publish a Docker image for Linux
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
- master
|
||||
tags:
|
||||
- 'v*.*'
|
||||
workflow_dispatch: # Keep manual trigger for testing
|
||||
|
||||
env:
|
||||
REGISTRY: gitea.sjs.io
|
||||
GITHUBUSER: ${{ gitea.repository_owner }}
|
||||
IMAGE_NAME: rocky-dev
|
||||
|
||||
jobs:
|
||||
build-and-push-image:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ vars.USERNAME }}
|
||||
password: ${{ secrets.PASS }}
|
||||
|
||||
- name: Extract metadata for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ vars.USERNAME }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=semver,pattern={{gitea.ref_name}}
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
|
||||
- name: Build and push both architectures
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
34
.gitea/workflows/test.yml
Normal file
34
.gitea/workflows/test.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
name: Run Actions
|
||||
run-name: ${{ gitea.actor }} compiles
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
- master
|
||||
tags:
|
||||
- '*.*.*'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: powershell
|
||||
|
||||
jobs:
|
||||
build-plume:
|
||||
runs-on: windows
|
||||
strategy:
|
||||
matrix:
|
||||
build_configuration: ['Debug', 'Release']
|
||||
steps:
|
||||
- name: ref
|
||||
run: echo ${{ github.event.ref }} # is null on PR otherwise refs/heads/dev on commit
|
||||
- name: type
|
||||
run: echo ${{ github.ref_type }} # is null on PR otherwise branch on commit
|
||||
- name: ref_name
|
||||
run: echo ${{ gitea.ref_name }} # is PR number on PR otherwise branch on commit
|
||||
- name: distribute
|
||||
if: ${{ (matrix.build_configuration == 'Release') && (gitea.ref_name == 'dev' || gitea.ref_type == 'tag') }}
|
||||
run: echo ${{ gitea.ref_name }}
|
||||
- name: notify
|
||||
if: failure()
|
||||
run: echo failure
|
||||
Reference in New Issue
Block a user