From 3a651ba63feeb3f3e9949ee96062b3d84bbf7fe6 Mon Sep 17 00:00:00 2001 From: Dany LE Date: Wed, 24 Jul 2024 18:24:52 +0200 Subject: [PATCH] feat(ci): allow to publish packages on tagging --- .gitea/workflows/ci.yml | 54 +++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- scripts/mkdocker.sh | 1 + 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 246bdc2..e356ced 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -16,3 +16,57 @@ jobs: 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 build/application $URL/$file + done \ No newline at end of file diff --git a/README.md b/README.md index 6a09477..7c3c193 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ![https://github.com/antos-rde/antos/raw/master/antos-64.png](https://github.com/antos-rde/antos/raw/master/antos-64.png) antOS v2.0.0 -![https://git.iohub.dev/dany/antos/actions/workflows/ci.yml/badge.svg?branch=ci](https://git.iohub.dev/dany/antos/actions/workflows/ci.yml/badge.svg?branch=ci) +![https://git.iohub.dev/dany/antos/actions/workflows/ci.yml/badge.svg?branch=master](https://git.iohub.dev/dany/antos/actions/workflows/ci.yml/badge.svg?branch=master) AntOS is a web-based remote desktop environment that provides an all-in-one solution for setting up a cloud-based, self-hosted working environment. It features a backend API and services, a front-end web-based window manager, application APIs, a GUI toolkit, and file system abstractions. It also includes an application store and an SDK for in-browser application development, deployment, and packaging. AntOS is designed to work across devices, including desktop computers and mobile devices. diff --git a/scripts/mkdocker.sh b/scripts/mkdocker.sh index 6751bbf..2b2de69 100755 --- a/scripts/mkdocker.sh +++ b/scripts/mkdocker.sh @@ -1,6 +1,7 @@ #!/bin/bash set -e +set -x DOCKER_IMAGE=$1