Skip to content

Add Robust Error Checking to Library and Worker's Communication Patterns #241

Add Robust Error Checking to Library and Worker's Communication Patterns

Add Robust Error Checking to Library and Worker's Communication Patterns #241

Workflow file for this run

on:
push:
branches:
- master
pull_request:
branches:
- master
- 'release/*'
workflow_dispatch:
inputs:
version:
description: 'Version (e.g., if 1.2.3, then binaries look like cctools-1.2.3-ARCH.tar.gz)'
required: true
tag:
description: 'Tag to deploy (e.g. release/7.2.1)'
required: true
name: Regression Testing
jobs:
build-native-linux:
runs-on: ubuntu-latest
container: ${{ format('cclnd/cctools-env:x86_64-{0}', matrix.os-name) }}
timeout-minutes: 30
env:
CCTOOLS_OUTPUT: ${{ format('cctools-{0}-x86_64-{1}.tar.gz', github.event.inputs.version, matrix.os-name) }}
CCTOOLS_DOCKER_GITHUB: ${{ matrix.os-name }}
strategy:
matrix:
os-name: ['almalinux8', 'almalinux9', 'ubuntu20.04', 'ubuntu22.04', 'ubuntu24.04']
steps:
- name: checkout CCTools from branch head
if: github.event_name != 'workflow_dispatch'
uses: actions/checkout@v3
- name: checkout CCTools from tag
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.tag }}
- name: Get sha of tag
id: vars
shell: bash
run: echo "{tag_sha}=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: build
run: ${GITHUB_WORKSPACE}/packaging/build-docker/build.sh
- name: deploy
uses: ncipollo/release-action@v1
if: github.event_name == 'workflow_dispatch'
with:
artifacts: /tmp/${{ env.CCTOOLS_OUTPUT }}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
artifactContentType: application/gzip
draft: true
omitBody: true
omitBodyDuringUpdate: true
prerelease: true
replacesArtifacts: true
commit: ${{ steps.vars.output.tag_sha }}
tag: ${{ github.event.inputs.tag }}
build-conda-linux:
runs-on: ubuntu-latest
timeout-minutes: 60
env:
CCTOOLS_OUTPUT: ${{ format('cctools-{0}-x86_64-linux-conda.tar.gz', github.event.inputs.version) }}
steps:
- name: Checkout CCTools from branch head
if: github.event_name != 'workflow_dispatch'
uses: actions/checkout@v4
- name: Checkout CCTools from tag
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag }}
- name: Get sha of tag
id: vars
shell: bash
run: echo "{tag_sha}=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Conda-Setup
run: ${GITHUB_WORKSPACE}/packaging/build-conda/setup.sh
- name: Configure
run: ${GITHUB_WORKSPACE}/packaging/build-conda/configure.sh
- name: Build
run: ${GITHUB_WORKSPACE}/packaging/build-conda/build.sh
- name: Install
run: ${GITHUB_WORKSPACE}/packaging/build-conda/install.sh
- name: Test
run: ${GITHUB_WORKSPACE}/packaging/build-conda/test.sh
- name: Deploy
uses: ncipollo/release-action@v1
if: github.event_name == 'workflow_dispatch'
with:
artifacts: /tmp/${{ env.CCTOOLS_OUTPUT }}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
artifactContentType: application/gzip
draft: true
omitBody: true
omitBodyDuringUpdate: true
prerelease: true
replacesArtifacts: true
commit: ${{ steps.vars.output.tag_sha }}
tag: ${{ github.event.inputs.tag }}
build-conda-macos-x86_64:
runs-on: ${{ matrix.os-name }}
strategy:
matrix:
os-name: ['macos-12','macos-13']
timeout-minutes: 30
env:
CCTOOLS_OUTPUT: ${{ format('cctools-{0}-x86_64-{1}.tar.gz', github.event.inputs.version, matrix.os-name) }}
CCTOOLS_SOURCE_PROFILE: yes
steps:
- name: checkout CCTools from branch head
uses: actions/checkout@v4
- name: Get sha of tag
id: vars
shell: bash
run: echo "{tag_sha}=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Conda-Setup
run: ${GITHUB_WORKSPACE}/packaging/build-conda/setup.sh
- name: Configure
run: ${GITHUB_WORKSPACE}/packaging/build-conda/configure.sh
- name: Build
run: ${GITHUB_WORKSPACE}/packaging/build-conda/build.sh
- name: Install
run: ${GITHUB_WORKSPACE}/packaging/build-conda/install.sh
- name: Test
run: ${GITHUB_WORKSPACE}/packaging/build-conda/test.sh
- name: deploy
uses: ncipollo/release-action@v1
if: github.event_name == 'workflow_dispatch'
with:
artifacts: /tmp/${{ env.CCTOOLS_OUTPUT }}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
artifactContentType: application/gzip
draft: true
omitBody: true
omitBodyDuringUpdate: true
prerelease: true
replacesArtifacts: true
commit: ${{ steps.vars.output.tag_sha }}
tag: ${{ github.event.inputs.tag }}
build-conda-macos-arm64:
runs-on: ${{ matrix.os-name }}
strategy:
matrix:
os-name: ['macos-14']
timeout-minutes: 30
env:
CCTOOLS_OUTPUT: ${{ format('cctools-{0}-arm64-{1}.tar.gz', github.event.inputs.version, matrix.os-name) }}
CCTOOLS_SOURCE_PROFILE: yes
steps:
- name: checkout CCTools from branch head
uses: actions/checkout@v4
- name: Get sha of tag
id: vars
shell: bash
run: echo "{tag_sha}=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Conda-Setup
run: ${GITHUB_WORKSPACE}/packaging/build-conda/setup.sh
- name: Configure
run: ${GITHUB_WORKSPACE}/packaging/build-conda/configure.sh
- name: Build
run: ${GITHUB_WORKSPACE}/packaging/build-conda/build.sh
- name: Install
run: ${GITHUB_WORKSPACE}/packaging/build-conda/install.sh
- name: Test
run: ${GITHUB_WORKSPACE}/packaging/build-conda/test.sh
- name: deploy
uses: ncipollo/release-action@v1
if: github.event_name == 'workflow_dispatch'
with:
artifacts: /tmp/${{ env.CCTOOLS_OUTPUT }}
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
artifactContentType: application/gzip
draft: true
omitBody: true
omitBodyDuringUpdate: true
prerelease: true
replacesArtifacts: true
commit: ${{ steps.vars.output.tag_sha }}
tag: ${{ github.event.inputs.tag }}
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: checkout CCTools from branch head
if: github.event_name != 'workflow_dispatch'
uses: actions/checkout@v4
- name: checkout CCTools from tag
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag }}
- name: lint code
run: ${GITHUB_WORKSPACE}/packaging/lint/lint.sh