From 86c7d85f0eedd29327042683127a83f29eaa757f Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Wed, 4 Feb 2026 23:08:04 -0600 Subject: [PATCH] Add gitea workflows --- .gitea/workflows/tag.yaml | 71 ++++++++++++++++++++++ .onedev-buildspec.yml | 118 +++++++------------------------------ Packaging/Linux/PKGBUILD | 11 ---- Packaging/Linux/version.sh | 4 +- 4 files changed, 94 insertions(+), 110 deletions(-) create mode 100644 .gitea/workflows/tag.yaml diff --git a/.gitea/workflows/tag.yaml b/.gitea/workflows/tag.yaml new file mode 100644 index 0000000..7110168 --- /dev/null +++ b/.gitea/workflows/tag.yaml @@ -0,0 +1,71 @@ +name: Build and Deploy on Tag +on: + push: + tags: + - 'v*' + +env: + GITEA_AUTH: ${{ secrets.MY_GITEA_AUTH }} + +jobs: + build-arch: + runs-on: arch-builder + steps: + - run: pacman --noconfirm -Sy nodejs npm + - uses: actions/checkout@v4 + - run: wget -O /root/repository.key https://git.tesseslanguage.com/api/packages/tesses50/arch/repository.key + - run: pacman-key --add /root/repository.key + - run: pacman-key --config /opt/cross/ppc/pacman.conf --add /root/repository.key + - run: printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /etc/pacman.conf + - run: printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /opt/cross/ppc/pacman.conf + - run: pacman --noconfirm -Sy mbedtls curl tesses-framework + - run: pacman --config /opt/cross/ppc/pacman.conf --noconfirm -Sy mbedtls tesses-framework + - run: cp Packaging/Linux/PKGBUILD /home/build/PKGBUILD + - run: cp Packaging/Linux/build-arch.sh /home/build/build-arch.sh + - run: chmod 755 /home/build/build-arch.sh + - run: chown build:build /home/build/PKGBUILD + - run: chown build:build /home/build/build-arch.sh + - run: su build -c /home/build/build-arch.sh + build-jammy: + runs-on: deb-builder-jammy + steps: + - uses: actions/checkout@v4 + - name: Build for jammy, noble + run: | + mkdir ../../artifacts + apt update -y + apt install -y pkg-config git + cd Packaging/Linux + bash build-ubuntu-jammy.sh + bash push-ubuntu-jammy.sh + bash build-tars.sh + working-directory: ./Packaging/Linux + - uses: akkuman/gitea-release-action@v1 + env: + NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18 + with: + files: |- + artifacts/** + build-plucky: + runs-on: deb-builder-plucky + steps: + - uses: actions/checkout@v4 + - name: Build for plucky, resolute + run: | + mkdir ../../artifacts + apt update -y + apt install -y pkg-config git gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 nsis + bash build-ubuntu-plucky.sh + bash push-ubuntu-plucky.sh + working-directory: ./Packaging/Linux + + - name: Build for windows + run: bash build.sh + + working-directory: ./Packaging/Windows + - uses: akkuman/gitea-release-action@v1 + env: + NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18 + with: + files: |- + artifacts/** \ No newline at end of file diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml index 2da611a..de96de5 100644 --- a/.onedev-buildspec.yml +++ b/.onedev-buildspec.yml @@ -1,18 +1,21 @@ -version: 39 +version: 43 jobs: - name: Build for x86_64 steps: - - !CheckoutStep + - type: CheckoutStep name: Checkout - cloneCredential: !DefaultCredential {} + cloneCredential: + type: DefaultCredential withLfs: true withSubmodules: false - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !CommandStep + condition: SUCCESSFUL + optional: false + - type: CommandStep name: Execute build runInContainer: true image: onedev.site.tesses.net/tesses-framework/tesses-framework:latest - interpreter: !DefaultInterpreter + interpreter: + type: DefaultInterpreter commands: | mkdir build cd build @@ -20,111 +23,32 @@ jobs: make -j12 make install DESTDIR=../out useTTY: true - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !BuildImageStep + condition: SUCCESSFUL + optional: false + - type: BuildImageStep name: Build Docker Image dockerfile: Dockerfile.run - output: !RegistryOutput + output: + type: RegistryOutput tags: onedev.site.tesses.net/crosslang/crosslang:latest onedev.site.tesses.net/crosslang/crosslang:@commit_hash@ registryLogins: - registryUrl: '@server_url@' userName: '@job_token@' passwordSecret: dockersecret platforms: linux/amd64 - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !CommandStep - name: Build archlinux - runInContainer: true - image: git.tesseslanguage.com/tesses50/arch-builds:2025-11-11 - interpreter: !DefaultInterpreter - commands: | - wget -O /root/repository.key https://git.tesseslanguage.com/api/packages/tesses50/arch/repository.key - pacman-key --add /root/repository.key - pacman-key --config /opt/cross/ppc/pacman.conf --add /root/repository.key - printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /etc/pacman.conf - printf "[tesses50.git.tesseslanguage.com]\nSigLevel = Optional TrustAll\nServer = https://git.tesseslanguage.com/api/packages/tesses50/arch/core/\$arch\n" >> /opt/cross/ppc/pacman.conf - - pacman --noconfirm -Sy mbedtls curl tesses-framework - pacman --config /opt/cross/ppc/pacman.conf --noconfirm -Sy mbedtls tesses-framework - cp Packaging/Linux/PKGBUILD /home/build/PKGBUILD - cp Packaging/Linux/build-arch.sh /home/build/build-arch.sh - chmod 755 /home/build/build-arch.sh - chown build:build /home/build/PKGBUILD - chown build:build /home/build/build-arch.sh - su build -c /home/build/build-arch.sh - envVars: - - name: GITEA_AUTH - value: '@secret:GITEA_AUTH@' - useTTY: true - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !CommandStep - name: Build and Publish Deb Package (Plucky) - runInContainer: true - image: onedev.site.tesses.net/dependencies/debbuilder/plucky:latest - interpreter: !DefaultInterpreter - commands: | - mkdir artifacts - apt update -y - apt install -y pkg-config git gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 nsis - cd Packaging/Linux - bash build-ubuntu-plucky.sh - bash push-ubuntu-plucky.sh - cd ../Windows - bash build.sh - envVars: - - name: GITEA_AUTH - value: '@secret:GITEA_AUTH@' - - name: BUILD_NO - value: '@build_number@' - useTTY: true - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !CommandStep - name: Build and Publish Deb Package - runInContainer: true - image: onedev.site.tesses.net/dependencies/debbuilder/jammy:latest - interpreter: !DefaultInterpreter - commands: | - apt update -y - apt install -y pkg-config git - cd Packaging/Linux - bash build-ubuntu-jammy.sh - bash push-ubuntu-jammy.sh - bash build-tars.sh - envVars: - - name: GITEA_AUTH - value: '@secret:GITEA_AUTH@' - - name: CPKG_KEY - value: '@secret:CPKG_KEY@' - - name: BUILD_NO - value: '@build_number@' - useTTY: true - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !SCPCommandStep - name: Copy Files - privateKeySecret: TRUENAS_SSH - source: artifacts - target: mike@@10.137.42.30:/mnt/storage24tb/Files/Public/CrossLang/@build_number@ - options: -r - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - - !SSHCommandStep - name: Link latest - remoteMachine: 10.137.42.30 - userName: mike - privateKeySecret: TRUENAS_SSH - commands: | - cd /mnt/storage24tb/Files/Public/CrossLang - rm -f latest - ln -s @build_number@ latest - condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + condition: SUCCESSFUL + optional: false triggers: - - !DependencyFinishedTrigger + - type: DependencyFinishedTrigger projects: tesses-framework - - !BranchUpdateTrigger + - type: BranchUpdateTrigger branches: master + userMatch: anyone projects: crosslang projectDependencies: - projectPath: tesses-framework - buildProvider: !LastFinishedBuild + buildProvider: + type: LastFinishedBuild jobName: Build for x86_64 artifacts: '*' retryCondition: never diff --git a/Packaging/Linux/PKGBUILD b/Packaging/Linux/PKGBUILD index 188ee68..4518870 100644 --- a/Packaging/Linux/PKGBUILD +++ b/Packaging/Linux/PKGBUILD @@ -21,18 +21,7 @@ fi # Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for # a description of each element in the source array. -pkgver() { - cd "$srcdir/${pkgname}" -# The examples below are not absolute and need to be adapted to each repo. The -# primary goal is to generate version numbers that will increase according to -# pacman's version comparisons with later commits to the repo. The format -# VERSION='VER_NUM.rREV_NUM.HASH', or a relevant subset in case VER_NUM or HASH -# are not available, is recommended. - -# Git, no tags available - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" -} prepare() { cd "$srcdir/${pkgname}" diff --git a/Packaging/Linux/version.sh b/Packaging/Linux/version.sh index 25dd189..8c1e404 100644 --- a/Packaging/Linux/version.sh +++ b/Packaging/Linux/version.sh @@ -1,2 +1,2 @@ -export BUILD=$(($BUILD_NO-153)) -export DEB_VERSION=0.0.1-$BUILD \ No newline at end of file + +export DEB_VERSION=0.0.1 \ No newline at end of file