mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
83 lines
2.0 KiB
YAML
83 lines
2.0 KiB
YAML
name: Pull Request
|
|
|
|
on:
|
|
pull_request:
|
|
types: [labeled, opened, synchronize, reopened]
|
|
|
|
concurrency:
|
|
group: pull-requests-${{ github.workflow }}-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: [self-hosted]
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
# Never run when the PR carries the "release" label.
|
|
if: |
|
|
!contains(github.event.pull_request.labels.*.name, 'release')
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
registry: ghcr.io
|
|
env:
|
|
DOCKER_CONFIG: ${{ runner.temp }}/.docker
|
|
|
|
- name: Build
|
|
run: make build
|
|
env:
|
|
DOCKER_CONFIG: ${{ runner.temp }}/.docker
|
|
|
|
- name: Build Talos image
|
|
run: make -C packages/core/installer talos-nocloud
|
|
|
|
- name: Upload installer
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cozystack-installer
|
|
path: _out/assets/cozystack-installer.yaml
|
|
|
|
- name: Upload Talos image
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: talos-image
|
|
path: _out/assets/nocloud-amd64.raw.xz
|
|
|
|
test:
|
|
name: Test
|
|
runs-on: [self-hosted]
|
|
needs: build
|
|
|
|
# Never run when the PR carries the "release" label.
|
|
if: |
|
|
!contains(github.event.pull_request.labels.*.name, 'release')
|
|
|
|
steps:
|
|
- name: Download installer
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: cozystack-installer
|
|
path: _out/assets/
|
|
|
|
- name: Download Talos image
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: talos-image
|
|
path: _out/assets/
|
|
|
|
- name: Test
|
|
run: make test
|