Skip to content

CI build

CI build #1983

Workflow file for this run

name: CI-Build
run-name: CI build
on:
pull_request:
branches: '*'
paths:
- '**'
- '!.github/**'
- '!README.md'
push:
branches:
- master
paths:
- '**'
- '!.github/**'
- '!README.md'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
start-start:
if: github.repository == 'open-watcom/open-watcom-v2'
name: Check if to run
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
Windows-pre:
needs: start-start
strategy:
matrix:
owversion: ['1.9', '2.0']
name: Bootstrap Test OW ${{ matrix.owversion }} Windows
runs-on: 'windows-2022'
steps:
- name: checkout
uses: actions/checkout@v4
- name: Bootstrap Test
uses: "./.github/actions/testboot"
with:
hostos: 'nt'
owversion: ${{ matrix.owversion }}
owtag: '2023-01-01-Build'
owdebug: ${{ vars.OWDEBUG }}
Linux-pre:
needs: start-start
strategy:
matrix:
owversion: ['1.9', '2.0']
name: Bootstrap Test OW ${{ matrix.owversion }} Linux
runs-on: 'ubuntu-latest'
steps:
- name: checkout
uses: actions/checkout@v4
- name: Bootstrap Test
uses: "./.github/actions/testboot"
with:
hostos: 'lnx'
owversion: ${{ matrix.owversion }}
owtag: '2023-01-01-Build'
owdebug: ${{ vars.OWDEBUG }}
Linux:
needs:
- Linux-pre
strategy:
matrix:
include:
- owtools: 'GCC'
tools: 'gcc'
title: 'x64 gcc'
- owtools: 'CLANG'
tools: 'clang'
title: 'x64 clang'
name: Linux ${{ matrix.title }}
uses: "./.github/workflows/cibldlnx.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: 'ubuntu-latest'
owdebug: ${{ vars.OWDEBUG }}
Windows:
needs:
- Windows-pre
strategy:
matrix:
include:
- owtools: 'VISUALC'
tools: 'vs2022'
title: 'x64 vs2022'
name: Windows ${{ matrix.title }}
uses: "./.github/workflows/cibldnt.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: 'windows-2022'
owdebug: ${{ vars.OWDEBUG }}
OSX:
needs: start-start
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/cibldosx.yml"
with:
arch: ${{ matrix.arch }}
tools: 'clang'
relpath: ${{ matrix.relpath }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
snapshot-both:
needs:
- Linux
- Windows
- OSX
name: CI Release
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Load all release files
uses: "./.github/actions/relload"
with:
tools_nt: 'vs2022'
tools_lnx: 'gcc'
tools_osx: 'clang'
owdebug: ${{ vars.OWDEBUG }}
- name: Create OW snapshot
id: owsnapshot
uses: "./.github/actions/snapshot"
with:
hostos: 'lnx'
gitpath: 'rel'
owdebug: ${{ vars.OWDEBUG }}
- if: github.event_name == 'PullRequest'
name: Upload Pull Request owsnapshot
uses: actions/upload-artifact@v4
with:
name: 'owsnapshot'
path: ${{ steps.owsnapshot.outputs.fullname }}
retention-days: 14
overwrite: true
- if: vars.OWDELETEARTIFACTS == 1 && github.event_name == 'PullRequest'
name: Call to delete Pull Request Artifacs
uses: "./.github/actions/artfdelc"
with:
exclude: 'owsnapshot'
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}
- if: github.event_name != 'PullRequest'
name: Upload Last CI Build
uses: "./.github/actions/lastbld"
with:
fullname: ${{ steps.owsnapshot.outputs.fullname }}
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}
- if: vars.OWDELETEARTIFACTS == 1 && github.event_name != 'PullRequest'
name: Call to delete Last CI Build Artifacs
uses: "./.github/actions/artfdelc"
with:
owdebug: ${{ vars.OWDEBUG }}
owcurlopts: ${{ vars.OWCURLOPTS }}