mirror of
https://github.com/antos-rde/antos.git
synced 2025-07-16 05:49:57 +02:00
feat(ci): use gitea action instead of jenkins
This commit is contained in:
31
.gitea/workflows/build-bin.yml
Normal file
31
.gitea/workflows/build-bin.yml
Normal file
@ -0,0 +1,31 @@
|
||||
name: Building AntOS binaries
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
platform:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ci-tools
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Update submodule
|
||||
run: git submodule update --init
|
||||
- name: Building binaries for platform - ${{ inputs.platform }}
|
||||
run: |
|
||||
mkdir build
|
||||
DESTDIR=$(realpath build) \
|
||||
ARCH=${{ inputs.platform }} \
|
||||
RUSTUP_HOME=/opt/rust/rustup \
|
||||
CARGO_HOME=/opt/rust/cargo \
|
||||
make all deb appimg
|
||||
- name: Save artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-${{ inputs.platform }}
|
||||
path: build/
|
||||
retention-days: 5
|
||||
- run: echo "Build is ${{ job.status }}."
|
72
.gitea/workflows/ci.yml
Normal file
72
.gitea/workflows/ci.yml
Normal file
@ -0,0 +1,72 @@
|
||||
name: AntOS pipeline
|
||||
run-name: Building AntOS binaries
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build-amd64:
|
||||
uses: ./.gitea/workflows/build-bin.yml
|
||||
with:
|
||||
platform: amd64
|
||||
build-arm64:
|
||||
uses: ./.gitea/workflows/build-bin.yml
|
||||
with:
|
||||
platform: arm64
|
||||
|
||||
build-arm:
|
||||
uses: ./.gitea/workflows/build-bin.yml
|
||||
with:
|
||||
platform: arm
|
||||
|
||||
publish-on-tag:
|
||||
runs-on: act-runner
|
||||
if: gitea.event_name == 'push' && contains(gitea.ref, 'refs/tags/')
|
||||
needs: [build-amd64, build-arm64, build-arm]
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- run: mkdir -p build
|
||||
- name: get build-amd64 artifacts
|
||||
uses: actions/download-artifact@master
|
||||
with:
|
||||
name: build-amd64
|
||||
path: build
|
||||
- name: get build-arm64 artifacts
|
||||
uses: actions/download-artifact@master
|
||||
with:
|
||||
name: build-arm64
|
||||
path: build
|
||||
- name: get build-arm artifacts
|
||||
uses: actions/download-artifact@master
|
||||
with:
|
||||
name: build-arm
|
||||
path: build
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@master
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@master
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@master
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PAT }}
|
||||
- name: Env
|
||||
run: |
|
||||
printenv
|
||||
docker info
|
||||
ls . -al
|
||||
ls build/ -al
|
||||
- name: Build and push docker image
|
||||
run: |
|
||||
PKG_VERSION="${{ gitea.ref_name }}"
|
||||
DOCKER_TAG=$PKG_VERSION DOCKER_IMAGE=iohubdev/antos make docker
|
||||
- name: Publish packages
|
||||
run: |
|
||||
rm build/*/opt/ -rf
|
||||
files=$(find ./build -type f)
|
||||
PKG_VERSION="${{ gitea.ref_name }}"
|
||||
URL="https://git.iohub.dev/api/packages/dany/generic/antos/$PKG_VERSION"
|
||||
for file in $files; do
|
||||
curl --header "Authorization: token ${{ secrets.GT_API_PAT }}" -v --upload-file $file $URL/$(basename $file)
|
||||
done
|
Reference in New Issue
Block a user