Files
navidrome-uploader/.gitea/workflows/build-deb.yml
T
arian 15bcd258af
Build and Test Debian Package / build (push) Successful in 7s
Build and Test Debian Package / test (push) Successful in 55s
feat(ci): update workflow to include testing after deb package build
Signed-off-by: Arian Nasr <arian@2ari.ca>
2026-05-31 08:16:09 -04:00

62 lines
1.5 KiB
YAML

name: Build and Test Debian Package
on:
push:
branches:
- '**'
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
outputs:
deb_filename: ${{ steps.get_deb_name.outputs.filename }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Make scripts executable
run: |
chmod +x release/build-docker.sh
chmod +x release/build-deb.sh
- name: Build Debian Package
run: ./release/build-docker.sh
- name: Get Deb Filename
id: get_deb_name
run: |
DEB_FILENAME=$(ls output/*.deb | xargs basename)
echo "filename=$DEB_FILENAME" >> $GITHUB_OUTPUT
- name: Upload Build Artifact
uses: actions/upload-artifact@v3
with:
name: ${{ steps.get_deb_name.outputs.filename }}
path: output/${{ steps.get_deb_name.outputs.filename }}
retention-days: 5
test:
runs-on: ubuntu-latest
needs: build # only run tests if the build job succeeded
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Create output directory
run: mkdir -p output
- name: Download Build Artifact
uses: actions/download-artifact@v3
with:
name: ${{ needs.build.outputs.deb_filename }}
path: output/
- name: Build Test Docker Image
run: docker build -t uploader-tester -f Dockerfile.test .
- name: Run E2E Test Suite
run: docker run --rm uploader-tester