Skip to content

Adds link to workshop page for the missing mod on error: workshop mod not found #1013

Adds link to workshop page for the missing mod on error: workshop mod not found

Adds link to workshop page for the missing mod on error: workshop mod not found #1013

Workflow file for this run

name: Build
on:
push:
branches: [main]
tags:
- v*
pull_request:
branches: [main]
jobs:
build:
name: ${{ matrix.os.name }}
runs-on: ${{ matrix.os.runner }}
strategy:
fail-fast: false
matrix:
os:
- runner: ubuntu-latest
name: ubuntu
artifact: linux-x64
exe: hemtt
- runner: windows-latest
name: windows
artifact: windows-x64
exe: hemtt.exe
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- run: echo "RELEASE=true" >> $GITHUB_ENV
if: startsWith(github.ref, 'refs/tags/') && matrix.os.name == 'ubuntu'
- run: echo "RELEASE=true" >> $env:GITHUB_ENV
if: startsWith(github.ref, 'refs/tags/') && matrix.os.name == 'windows'
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
key: build-${{ matrix.os.name }}
- name: Compile
run: cargo build --release
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os.artifact }}
path: target/release/${{ matrix.os.exe }}
mods:
name: ${{ matrix.os.name }} / ${{ matrix.mod.repo }}
runs-on: ${{ matrix.os.runner }}
needs:
- build
strategy:
fail-fast: false
matrix:
os:
- runner: ubuntu-latest
name: ubuntu
artifact: linux-x64
- runner: windows-latest
name: windows
artifact: windows-x64
mod:
- repo: CBATeam/CBA_A3
commit: 8bb83aa0283200070ff6c3da80a6e22dcf11b9f6
- repo: acemod/ACE3
commit: fd5e56ffbc534583b7d3ee5750ed168d5108e1b8
- repo: ArmaForces/Mods
commit: c54d78e3da3163ee9b1baad847ec662dbaf3566e
- repo: Theseus-Aegis/Mods
commit: 943906d18817a7f0829742f0c91cdad34456c594
- repo: SynixeContractors/Mod
commit: 5afed7408ccbc8635e20e2e5e3e9eca99a9efbc4
steps:
- name: Download HEMTT
uses: actions/download-artifact@v4
with:
name: ${{ matrix.os.artifact }}
path: hemtt
- name: Checkout
uses: actions/checkout@v4
with:
repository: ${{ matrix.mod.repo }}
path: mod
ref: ${{ matrix.mod.commit }}
- name: Install Linux
if: startsWith(matrix.os.runner, 'ubuntu')
run: |
cd hemtt && cp hemtt /usr/local/bin/hemtt && chmod +x /usr/local/bin/hemtt
- name: Install Windows
if: startsWith(matrix.os.runner, 'windows')
run: |
cd hemtt && copy hemtt.exe C:\Windows\System32\hemtt.exe
- name: Run `hemtt dev` on ${{ matrix.mod.repo }}
run: |
cd mod && hemtt dev
- name: Install Arma 3 Tools
if: startsWith(matrix.os.runner, 'windows')
uses: arma-actions/arma3-tools@master
with:
toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }}
- name: Run `hemtt build` on ${{ matrix.mod.repo }}
run: |
cd mod && hemtt build
release:
name: Release
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Linux x64
uses: actions/download-artifact@v4
with:
name: linux-x64
path: release
- name: Download Windows x64
uses: actions/download-artifact@v4
with:
name: windows-x64
path: release
- name: Zip Linux x64
run: |
cd release && zip linux-x64.zip hemtt && rm hemtt
- name: Create Release Version
run: |
VERSION=${GITHUB_REF_NAME#v}
echo Version: $VERSION
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Zip Windows x64
run: |
cd release && zip windows-x64.zip hemtt.exe && rm hemtt.exe
- name: Release
uses: softprops/action-gh-release@v2
with:
files: |
release/*
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
winget:
needs:
- release
runs-on: windows-latest
steps:
# Requires forked winget-pkgs: https://github.com/microsoft/winget-pkgs to the same account as this project
- name: Submit to WinGet
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: BrettMayson.HEMTT
installers-regex: 'windows-x64.zip'
token: ${{ secrets.WINGET_TOKEN }} # Classic Personal Access Token with [public_repo, workflow] scopes