Files
MKVAudioSubtitleChanger/.github/workflows/release.yml

145 lines
3.6 KiB
YAML

# This workflow will run every time a tag starting with v is created.
name: Build and release
on:
release:
types: [ created ]
jobs:
portable-build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Install mkvtoolnix
run: sudo apt-get install -y mkvtoolnix
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Extract version from tag
id: get_version
run: echo "VERSION=$(echo ${GITHUB_REF_NAME#v} | cut -d'-' -f1)" >> $GITHUB_OUTPUT
shell: bash
- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Europe/Berlin"
- name: Set up JDK 17
uses: actions/setup-java@v4.7.0
with:
distribution: temurin
java-version: 17
- name: Setup workspace
run: mkdir artifacts
- name: Build with Maven
run: |
mvn clean package --file pom.xml -P portable -Drevision="${{ steps.get_version.outputs.VERSION }}"
cp target/M*.{zip,tar} artifacts/
- name: Upload artifacts
uses: skx/github-action-publish-binaries@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: 'artifacts/M*'
debian-build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Install mkvtoolnix
run: sudo apt-get install -y mkvtoolnix
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Extract version from tag
id: get_version
run: echo "VERSION=$(echo ${GITHUB_REF_NAME#v} | cut -d'-' -f1)" >> $GITHUB_OUTPUT
shell: bash
- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Europe/Berlin"
- name: Set up JDK 17
uses: actions/setup-java@v4.7.0
with:
distribution: temurin
java-version: 17
- name: Setup workspace
run: mkdir artifacts
- name: Build with Maven
run: |
mvn clean package --file pom.xml -P debian -Drevision="${{ steps.get_version.outputs.VERSION }}"
cp target/M*.deb artifacts/
- name: Upload artifacts
uses: skx/github-action-publish-binaries@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: 'artifacts/M*'
windows-installer-build:
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Install mkvtoolnix
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install mkvtoolnix -y
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Extract version from tag
id: get_version
run: echo "VERSION=$(echo ${GITHUB_REF_NAME#v} | cut -d'-' -f1)" >> $GITHUB_OUTPUT
shell: bash
- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneWindows: "Berlin Standard Time"
- name: Set up JDK 21
uses: actions/setup-java@v4.7.0
with:
distribution: temurin
java-version: 21
- name: Setup workspace
run: mkdir artifacts
- name: Build with Maven
run: mvn clean package --file pom.xml -P windows -Drevision="${{ steps.get_version.outputs.VERSION }}"
- name: Upload artifacts
uses: AButler/upload-release-assets@v3.0
with:
files: 'target/installer/*'
repo-token: ${{ secrets.GITHUB_TOKEN }}