Skip to content

Release build (daily and monthly) #579

Release build (daily and monthly)

Release build (daily and monthly) #579

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 }}
Linux:
needs: check_run
if: needs.check_run.outputs.runit
strategy:
matrix:
include:
- owtools: 'GCC'
tools: 'gcc'
image: 'ubuntu-20.04'
title: 'x64 gcc'
name: Linux ${{ matrix.title }}
uses: "./.github/workflows/rel-lnx.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
Windows:
needs: check_run
if: needs.check_run.outputs.runit
strategy:
matrix:
include:
- owtools: 'VISUALC'
tools: 'vs2019'
image: 'windows-2019'
title: 'x64 vs2019'
name: Windows ${{ matrix.title }}
uses: "./.github/workflows/rel-nt.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
OSX:
needs: check_run
if: needs.check_run.outputs.runit
strategy:
matrix:
include:
- owtools: 'CLANG'
arch: 'x64'
image: 'macos-13'
relpath: 'rel bino64'
title: 'x64 clang'
- owtools: 'CLANG'
arch: 'a64'
image: 'macos-14'
relpath: 'rel armo64'
title: 'arm64 clang'
name: OSX ${{ matrix.title }}
uses: "./.github/workflows/rel-osx.yml"
with:
arch: ${{ matrix.arch }}
tools: 'clang'
relpath: ${{ matrix.relpath }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
Installers:
needs:
- Linux
- Windows
- OSX
strategy:
matrix:
include:
- insttype: instdos
title: 'DOS'
- insttype: instos2
title: 'OS/2'
- insttype: instlnx32
title: 'Linux(32-bit)'
- insttype: instlnx64
title: 'Linux(64-bit)'
- insttype: instwin16
title: 'Windows(16-bit)'
- insttype: instwin32
title: 'Windows(32-bit)'
- insttype: instwin64
title: 'Windows(64-bit)'
- insttype: snapshot
title: 'OW full snapshot'
name: Installer ${{ matrix.title }}
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: ${{ matrix.title }}
uses: "./.github/actions/install"
with:
target: ${{ matrix.insttype }}
owdebug: ${{ vars.OWDEBUG }}
release:
needs: Installers
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
Uploads:
needs: release
strategy:
matrix:
include:
- title: DOS
asset: instdos
- title: OS/2
asset: instos2
- title: Linux(32-bit)
asset: instlnx32
- title: Linux(64-bit)
asset: instlnx64
- title: Windows(16-bit)
asset: instwin16
- title: Windows(32-bit)
asset: instwin32
- title: Windows(64-bit)
asset: instwin64
- title: OW full snapshot
asset: snapshot
name: Upload ${{ matrix.title }} installer
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: ${{ matrix.title }} 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: Uploads
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 }}