Skip to content

Release Build (daily and monthly) #813

Release Build (daily and monthly)

Release Build (daily and monthly) #813

Workflow file for this run

name: Release
run-name: Release Build (daily and monthly)
on:
schedule:
- cron: '30 0 * * *'
workflow_dispatch:
env:
OWDEBUG: "${{vars.DEBUG}}"
OWTESTMODE: "${{vars.TESTMODE}}"
OWCURLOPTS: "${{vars.CURLOPTS}}"
OWUSETARARCHIVE: '1'
jobs:
check_run:
if: github.repository == 'open-watcom/open-watcom-v2' || github.repository == vars.REPO
name: Check if to run
runs-on: ubuntu-latest
outputs:
runit: ${{steps.check_tag.outputs.old}}
steps:
- name: checkout
uses: actions/checkout@v4
- if: env.OWTESTMODE != '1'
name: Check tag reference
id: check_tag
uses: ./.github/actions/ghtagchk
with:
tag: 'Current-build'
builds:
needs: check_run
if: needs.check_run.outputs.runit
strategy:
matrix:
include:
# LINUX X64
- name: 'Linux x64'
suffix: 'lnx x64'
docbuild: ''
run_tests: '1'
image: 'ubuntu-22.04'
owtools: 'GCC'
args: 'gcc'
gitpath: 'rel'
# LINUX ARM64
- name: 'Linux arm64'
suffix: 'lnx a64'
docbuild: ''
run_tests: ''
image: 'ubuntu-24.04-arm'
owtools: 'GCC'
args: 'gcc'
gitpath: 'rel arml64'
# WINDOWS X64
- name: 'Windows x64'
suffix: 'nt x64'
docbuild: '1'
run_tests: '1'
image: 'windows-2022'
owtools: 'VISUALC'
args: 'vs2022'
gitpath: 'rel'
# OSX X64
- name: 'OSX x64'
suffix: 'osx x64'
docbuild: ''
run_tests: ''
image: 'macos-15-intel'
owtools: 'CLANG'
args: 'clang'
gitpath: 'rel bino64'
# OSX ARM64
- name: 'OSX arm64'
suffix: 'osx a64'
docbuild: ''
run_tests: ''
image: 'macos-15'
owtools: 'CLANG'
args: 'clang'
gitpath: 'rel armo64'
name: ${{matrix.name}} ${{matrix.args}}
uses: ./.github/workflows/buildx.yml
with:
args: ${{matrix.args}}
suffix: ${{matrix.suffix}} ${{matrix.args}}
gitpath: ${{matrix.gitpath}}
owtools: ${{matrix.owtools}}
image: ${{matrix.image}}
docbuild: ${{matrix.docbuild}}
run_tests: ${{matrix.run_tests}}
installers:
needs:
- builds
strategy:
matrix:
include:
- asset: instdos
title: 'Build DOS Installer'
- asset: instos2
title: 'Build OS/2 Installer'
- asset: instlnx32
title: 'Build Linux(32-bit) Installer'
- asset: instlnx64
title: 'Build Linux(64-bit) Installer'
- asset: instwin16
title: 'Build Windows(16-bit) Installer'
- asset: instwin32
title: 'Build Windows(32-bit) Installer'
- asset: instwin64
title: 'Build Windows(64-bit) Installer'
- asset: snapshot
title: 'Create OW snapshot'
gitpath: 'distrib ow bin'
name: ${{matrix.title}}
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: ${{matrix.title}}
uses: ./.github/actions/relload
with:
asset: ${{matrix.asset}}
suffix_nt: 'vs2022'
suffix_lnx: 'gcc'
suffix_osx: 'clang'
isrelrel: '1'
release:
needs: installers
name: Create GitHub Release
runs-on: ubuntu-latest
outputs:
drelid: ${{steps.relrel.outputs.relid}}
mrelid: ${{steps.mrelrel.outputs.relid}}
steps:
- name: checkout
uses: actions/checkout@v4
- name: GitHub Release
id: relrel
uses: ./.github/actions/release
with:
isrelrel: '1'
- name: GitHub Month Release
id: mrelrel
uses: ./.github/actions/releasem
- run: echo "drelid=${{steps.relrel.outputs.relid}};mrelid=${{steps.mrelrel.outputs.relid}}"
shell: bash
uploads:
needs: release
strategy:
matrix:
include:
- asset: instdos
title: 'DOS Installer'
- asset: instos2
title: 'OS/2 Installer'
- asset: instlnx32
title: 'Linux(32-bit) Installer'
- asset: instlnx64
title: 'Linux(64-bit) Installer'
- asset: instwin16
title: 'Windows(16-bit) Installer'
- asset: instwin32
title: 'Windows(32-bit) Installer'
- asset: instwin64
title: 'Windows(64-bit) Installer'
- asset: snapshot
title: 'OW snapshot'
name: Upload ${{matrix.title}}
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- run: echo "drelid=${{needs.release.outputs.drelid}};mrelid=${{needs.release.outputs.mrelid}}"
shell: bash
- name: Load asset files artifact
uses: ./.github/actions/artfload
with:
artifact: install ${{matrix.asset}}
gitpath: 'temp'
- name: Upload asset files (day release)
uses: ./.github/actions/ghassets
with:
relid: ${{needs.release.outputs.drelid}}
gitpath: 'temp'
- if: needs.release.outputs.mrelid != ''
name: Upload asset files (month release)
uses: ./.github/actions/ghassets
with:
relid: ${{needs.release.outputs.mrelid}}
gitpath: 'temp'
end-end:
needs: uploads
name: Call to delete Artifacts
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- if: vars.DELETEARTIFACTS == '1'
name: Call to delete Artifacs
uses: ./.github/actions/artfdelc