Add CI/CD for gitea

This commit is contained in:
2026-02-17 15:58:37 +01:00
parent 9512dcd28e
commit a23fd81d6b
3 changed files with 42 additions and 84 deletions

View File

@@ -0,0 +1,27 @@
name: Create Release
on:
push:
tags:
- 'v*'
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- name: checkout repository
uses: actions/checkout@v3
- name: install dependencies
run: apt-get update && apt-get install -y p7zip-full
- name: build release archives
run: make
- name: create release and upload assets
uses: softprops/action-gh-release@v2
with:
name: LibFreeMedia ${{ github.ref_name }}
body: LibFreeMedia ${{ github.ref_name }}
files: |
release/LibFreeMedia-embed.zip
release/LibFreeMedia-embed.tar.gz
release/LibFreeMedia-embed.tar.xz
release/LibFreeMedia-standalone.zip
release/LibFreeMedia-standalone.tar.gz
release/LibFreeMedia-standalone.tar.xz

View File

@@ -0,0 +1,15 @@
name: Test Commit
on:
push:
branches:
- '*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: checkout repository
uses: actions/checkout@v3
- name: install dependencies
run: apt-get update && apt-get install -y p7zip-full
- name: build release archives
run: make

View File

@@ -1,84 +0,0 @@
stages:
- test
- package
- release
# Run the tests only on commits, never on tags for now this just builds the
# release archives to make sure that works
test:
stage: test
rules:
- if: $CI_COMMIT_BRANCH
image: alpine:3
before_script:
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
- apk add xz 7zip make
script:
- make
# Build the release archives and keep them forever as an artifact. Only runs on
# tag pushes
package:
stage: package
rules:
- if: $CI_COMMIT_TAG
image: alpine:3
before_script:
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
- apk add xz 7zip make
script:
- make
image: alpine:3
before_script:
- echo PACKAGE_JOB_ID=$CI_JOB_ID >> package.env
- apk add xz 7zip make
script:
- make
artifacts:
expire_in: never
paths:
- release/LibFreeMedia-embed.tar.gz
- release/LibFreeMedia-embed.tar.xz
- release/LibFreeMedia-embed.zip
- release/LibFreeMedia-standalone.tar.gz
- release/LibFreeMedia-standalone.tar.xz
- release/LibFreeMedia-standalone.zip
reports:
dotenv: package.env
# Create a release with the previously generated artifacts. Only runs on tag
# pushes
release:
stage: release
rules:
- if: $CI_COMMIT_TAG
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- echo 'Creating release'
needs:
- job: package
artifacts: true
release:
tag_name: $CI_COMMIT_TAG
name: 'LibFreeMedia $CI_COMMIT_TAG'
description: 'LibFreeMedia $CI_COMMIT_TAG'
assets:
links:
- name: 'LibFreeMedia embedable release'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.zip'
filepath: '/archive/freemedia-embed-zip'
- name: 'LibFreeMedia embedable release (tar.xz archive)'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.tar.xz'
filepath: '/archive/freemedia-embed-tarxz'
- name: 'LibFreeMedia embedable release (tar.gz archive)'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-embed.tar.gz'
filepath: '/archive/freemedia-embed-targz'
- name: 'LibFreeMedia standalone addon'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.zip'
filepath: '/archive/freemedia-standalone-zip'
- name: 'LibFreeMedia standalone addon (tar.xz archive)'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.tar.xz'
filepath: '/archive/freemedia-standalone-tarxz'
- name: 'LibFreeMedia standalone addon (tar.gz archive)'
url: 'https://gitlab.com/omicron-oss/wow/libfreemedia/-/jobs/${PACKAGE_JOB_ID}/artifacts/raw/release/LibFreeMedia-standalone.tar.gz'
filepath: '/archive/freemedia-standalone-targz'