Skip to content

Try to fix Unit tests #974

Try to fix Unit tests

Try to fix Unit tests #974

name: Binaries generation
on:
push:
workflow_dispatch:
permissions:
contents: write
packages: read
jobs:
build-linux:
name: Build (Linux targets) - ${{ matrix.target.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- name: Linux
# TODO ghcr.io/yadoms/build_for_********:latest
image: ghcr.io/yadoms/build_for_linux:feature-updateRPiBuild_notSureBestMethod
artifact_prefix: Linux
privileged: ""
- name: RaspberryPI (all versions)
# TODO ghcr.io/yadoms/build_for_********:latest
image: ghcr.io/yadoms/build_for_raspberrypi:feature-updateRPiBuild_notSureBestMethod
artifact_prefix: RaspberryPI
privileged: "--privileged"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Login to GitHub Container Repository (GHCR)
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Yadoms build script
uses: Yadoms/build-yadoms-action@v4.0.3-beta.2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
buildImage: ${{ matrix.target.image }}
privileged: ${{ matrix.target.privileged }}
- name: Archive binaries
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target.artifact_prefix }}-Binaries
path: ./bin-${{ matrix.target.artifact_prefix }}/package/Yadoms*
- name: Archive update packages
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target.artifact_prefix }}-Update
path: ./bin-${{ matrix.target.artifact_prefix }}/package/update*
- name: Cleanup Docker credentials
if: always()
run: |
docker logout ghcr.io || true
rm -f ~/.docker/config.json
# build-windows:
# name: Build (Windows)
# runs-on: windows-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Login to GitHub Container Repository (GHCR)
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Yadoms build script
# uses: Yadoms/build-yadoms-windows-action@v2.0.2
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# buildImage: ghcr.io/yadoms/build_for_windows:latest
# entrypoint: "powershell.exe -Command C:\\work\\build-scripts\\windows\\entrypoint_docker.ps1" #TODO utile ?
# - name: Archive binaries
# uses: actions/upload-artifact@v4
# with:
# name: Windows-Binaries
# path: ./bin-windows/package/Yadoms*
# - name: Archive update packages
# uses: actions/upload-artifact@v4
# with:
# name: Windows-Update
# path: ./bin-windows/package/update*
# - name: Cleanup Docker credentials
# if: always()
# shell: powershell
# run: |
# docker logout ghcr.io 2>$null
# Remove-Item "$env:USERPROFILE\.docker\config.json" -Force -ErrorAction SilentlyContinue
# rpi-image:
# name: RaspberryPI image - ${{ matrix.language.label }}
# runs-on: ubuntu-latest
# needs: build-linux
# strategy:
# fail-fast: false
# matrix:
# language:
# - lang: fr
# label: FR
# - lang: en
# label: EN
# steps:
# - name: Download RaspberryPI binaries
# uses: actions/download-artifact@v4
# with:
# name: RaspberryPI-Binaries
# path: ./
# - name: Build RaspberryPI image (${{ matrix.language.label }})
# uses: Yadoms/build-yadoms-rpiimage-action@v1.0.1
# with:
# output_folder: $GITHUB_WORKSPACE/bin-RaspberryPI/pi_image
# language: ${{ matrix.language.lang }}
# branch_or_tag_name: 2020-12-02-raspbian-buster
# - name: Archive RPi image (${{ matrix.language.label }})
# uses: actions/upload-artifact@v4
# with:
# name: Raspbian-Lite-${{ matrix.language.label }}-Yadoms-Image
# path: ./bin-RaspberryPI/pi_image/*.zip
release:
name: Create/Update Release (tag only)
runs-on: ubuntu-latest
needs:
- build-linux
# - build-windows
# - rpi-image
if: github.ref_type == 'tag'
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
- name: Create or update GitHub release
uses: ncipollo/release-action@v1
with:
tag: ${{ github.ref_name }}
name: ${{ github.ref_name }}
draft: true
prerelease: true
allowUpdates: true
omitNameDuringUpdate: true
replacesArtifacts: true
artifacts: "dist/**"
token: ${{ secrets.GITHUB_TOKEN }}