Skip to content

Release build (daily and monthly) #178

Release build (daily and monthly)

Release build (daily and monthly) #178

Workflow file for this run

name: Release-Build
run-name: Release build (daily and monthly)
on:
schedule:
- cron: '30 0 * * *'
workflow_dispatch:
jobs:
check_run:
if: github.repository == 'open-watcom/open-watcom-v2'
name: Check if to run
runs-on: ubuntu-latest
outputs:
runit: ${{ steps.check_tag.outputs.old }}
steps:
- name: checkout
uses: actions/checkout@v4
- name: Check tag reference
id: check_tag
uses: "./.github/actions/ghtagchk"
with:
tag: 'Current-build'
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}
workflow-lnx:
needs: check_run
if: needs.check_run.outputs.runit
name: Linux
strategy:
matrix:
include:
- owtools: 'GCC'
tools: 'gcc'
image: 'ubuntu-20.04'
uses: "./.github/workflows/rel-lnx.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
workflow-nt:
needs: check_run
if: needs.check_run.outputs.runit
name: Windows
strategy:
matrix:
include:
- owtools: 'VISUALC'
tools: 'vs2019'
image: 'windows-2019'
uses: "./.github/workflows/rel-nt.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
workflow-osx:
needs: check_run
if: needs.check_run.outputs.runit
name: OSX
strategy:
matrix:
include:
- owtools: 'CLANG'
arch: 'x64'
image: 'macos-13'
relpath: 'rel bino64'
- owtools: 'CLANG'
arch: 'a64'
image: 'macos-14'
relpath: 'rel armo64'
uses: "./.github/workflows/rel-osx.yml"
with:
arch: ${{ matrix.arch }}
tools: 'clang'
relpath: ${{ matrix.relpath }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
install:
needs:
- workflow-lnx
- workflow-nt
- workflow-osx
name: Installers
runs-on: ubuntu-latest
strategy:
matrix:
include:
- display: DOS
insttype: instdos
- display: OS/2
insttype: instos2
- display: Linux(32-bit)
insttype: instlnx32
- display: Linux(64-bit)
insttype: instlnx64
- display: Windows(16-bit)
insttype: instwin16
- display: Windows(32-bit)
insttype: instwin32
- display: Windows(64-bit)
insttype: instwin64
- display: OW Snapshot
insttype: snapshot
steps:
- name: checkout
uses: actions/checkout@v4
- name: Installer
uses: "./.github/actions/install"
with:
target: ${{ matrix.insttype }}
owdebug: ${{ vars.OWDEBUG }}
release:
needs: install
name: "Create GitHub Release"
runs-on: ubuntu-latest
outputs:
drelid: ${{ steps.rel_rel.outputs.drelid }}
mrelid: ${{ steps.rel_rel.outputs.mrelid }}
steps:
- name: checkout
uses: actions/checkout@v4
- name: GitHub Release
id: rel_rel
uses: "./.github/actions/release"
with:
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}
- run: echo "drelid=${{ steps.rel_rel.outputs.drelid }};mrelid=${{ steps.rel_rel.outputs.mrelid }}"
shell: bash
assets:
needs: release
name: "Upload Installers"
runs-on: ubuntu-latest
strategy:
matrix:
include:
- display: DOS
asset: instdos
- display: OS/2
asset: instos2
- display: Linux(32-bit)
asset: instlnx32
- display: Linux(64-bit)
asset: instlnx64
- display: Windows(16-bit)
asset: instwin16
- display: Windows(32-bit)
asset: instwin32
- display: Windows(64-bit)
asset: instwin64
- display: OW Snapshot
asset: snapshot
steps:
- name: checkout
uses: actions/checkout@v4
- run: echo "drelid=${{ needs.release.outputs.drelid }};mrelid=${{ needs.release.outputs.mrelid }}"
shell: bash
- name: Upload ${{ matrix.display }} Asset
uses: "./.github/actions/ghassets"
with:
hostos: 'lnx'
target: ${{ matrix.asset }}
drelid: ${{ needs.release.outputs.drelid }}
mrelid: ${{ needs.release.outputs.mrelid }}
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}
end-end:
needs: assets
name: Call to delete Artifacts
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- if: vars.OWDELETEARTIFACTS == 1
name: Call to delete Artifacs
uses: "./.github/actions/artfdelc"
with:
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}