multi-downloader-nx_mirror/.github/workflows/release-matrix.yml
stratumadev 37cac7c789
Some checks are pending
auto-documentation / documentation (push) Waiting to run
build and push docker image / build-node (push) Waiting to run
Style and build test / tsc (push) Waiting to run
Style and build test / eslint (push) Blocked by required conditions
Style and build test / prettier (push) Blocked by required conditions
Style and build test / build-test-windows-arm64 (push) Blocked by required conditions
Style and build test / build-test-linux-arm64 (push) Blocked by required conditions
Style and build test / build-test-macos-arm64 (push) Blocked by required conditions
Style and build test / build-test-windows-x64 (push) Blocked by required conditions
Style and build test / build-test-linux-x64 (push) Blocked by required conditions
Style and build test / build-test-macos-x64 (push) Blocked by required conditions
updated workflows
2025-11-27 15:08:30 +01:00

133 lines
5 KiB
YAML

name: Release Builds
on:
release:
types: [published]
permissions:
contents: write
jobs:
build:
strategy:
matrix:
include:
# WINDOWS
- os: ubuntu-latest
build_type: windows
build_arch: x64
gui: cli
- os: macos-latest
build_type: windows
build_arch: arm64
gui: cli
- os: ubuntu-latest
build_type: windows
build_arch: x64
gui: gui
- os: macos-latest
build_type: windows
build_arch: arm64
gui: gui
# MACOS
- os: ubuntu-latest
build_type: macos
build_arch: x64
gui: cli
- os: macos-latest
build_type: macos
build_arch: arm64
gui: cli
- os: ubuntu-latest
build_type: macos
build_arch: x64
gui: gui
- os: macos-latest
build_type: macos
build_arch: arm64
gui: gui
# LINUX
- os: ubuntu-latest
build_type: linux
build_arch: x64
gui: cli
- os: macos-latest
build_type: linux
build_arch: arm64
gui: cli
- os: ubuntu-latest
build_type: linux
build_arch: x64
gui: gui
- os: macos-latest
build_type: linux
build_arch: arm64
gui: gui
# ALPINE
- os: ubuntu-latest
build_type: alpine
build_arch: x64
gui: cli
- os: macos-latest
build_type: alpine
build_arch: arm64
gui: cli
- os: ubuntu-latest
build_type: alpine
build_arch: x64
gui: gui
- os: macos-latest
build_type: alpine
build_arch: arm64
gui: gui
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: latest
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 24
check-latest: true
- name: Install Node modules
run: |
pnpm install
- name: Get name and version from package.json
run: |
test -n $(node -p -e "require('./package.json').name") &&
test -n $(node -p -e "require('./package.json').version") &&
echo PACKAGE_NAME=$(node -p -e "require('./package.json').name") >> $GITHUB_ENV &&
echo PACKAGE_VERSION=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV || exit 1
- name: Make build
run: pnpm run build-${{ matrix.build_type }}-${{ matrix.build_arch }}-${{ matrix.gui }}
- name: Upload assets to the GitHub Release
uses: softprops/action-gh-release@v2
with:
files: |
./lib/_builds/multi-downloader-nx-${{ matrix.build_type }}-${{ matrix.build_arch }}-${{ matrix.gui }}.7z
./lib/_builds/multi-downloader-nx-${{ matrix.build_type }}-${{ matrix.build_arch }}-${{ matrix.gui }}.7z.sha256
fail_on_unmatched_files: true
build-docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker images
uses: docker/build-push-action@v2.9.0
with:
github-token: ${{ github.token }}
push: true
tags: |
"multidl/multi-downloader-nx:${{ github.event.release.tag_name }}"
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}