Skip to content

CI build

CI build #7

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
bootow-lnx:
needs: start-start
name: Bootstrap Linux OW
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Bootstrap Linux OW
uses: "./.github/actions/testboot"
with:
hostos: 'lnx'
gitpath: 'ci/ow'
owdebug: ${{ vars.OWDEBUG }}
bootow-nt:
needs: start-start
name: Bootstrap Windows OW
runs-on: windows-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Bootstrap Windows OW
uses: "./.github/actions/testboot"
with:
hostos: 'nt'
gitpath: 'ci\ow'
owdebug: ${{ vars.OWDEBUG }}
workflow-lnx:
needs: bootow-lnx
name: Linux
strategy:
matrix:
include:
- owtools: 'GCC'
tools: 'gcc'
- owtools: 'CLANG'
tools: 'clang'
uses: "./.github/workflows/cibldlnx.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: 'ubuntu-latest'
owdebug: ${{ vars.OWDEBUG }}
workflow-nt:
needs: bootow-nt
name: Windows
strategy:
matrix:
include:
- owtools: 'VISUALC'
tools: 'vs2022'
uses: "./.github/workflows/cibldnt.yml"
with:
arch: 'x64'
tools: ${{ matrix.tools }}
owtools: ${{ matrix.owtools }}
image: 'windows-2022'
owdebug: ${{ vars.OWDEBUG }}
workflow-osx:
needs: start-start
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/cibldosx.yml"
with:
arch: ${{ matrix.arch }}
tools: 'clang'
relpath: ${{ matrix.relpath }}
owtools: ${{ matrix.owtools }}
image: ${{ matrix.image }}
owdebug: ${{ vars.OWDEBUG }}
snapshot-both:
needs:
- workflow-lnx
- workflow-nt
- workflow-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 }}