Skip to content

Scheduled releases of end user packages #355

Scheduled releases of end user packages

Scheduled releases of end user packages #355

name: Scheduled releases of end user packages
on:
schedule:
- cron: "0 0 * * SAT"
workflow_dispatch:
inputs:
library:
description: "Library to build and test."
workflow_call:
inputs:
library:
description: "Library to build and test"
type: string
secrets:
REPO_ACCESS_TOKEN:
description: "Token that enables adding a tag to this repository"
WEBSITE_ACCESS_TOKEN:
description: "Token that enables writing to the website repository"
jobs:
# Mock build & test
build_mock:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'mock')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "mock"
task: "build"
args: ""
strip-args-when-packaging: ""
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_mock:
needs: [build_mock]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "mock"
task: "test"
args: ""
strip-args-when-packaging: ""
# FEniCS/real build & test
build_fenics_real:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'fenics')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenics"
task: "build"
args: "real"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_fenics_real:
needs: [build_fenics_real]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenics"
task: "test"
args: "real"
strip-args-when-packaging: ""
# FEniCSx/real build & test
build_fenicsx_real:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'fenicsx')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenicsx"
task: "build"
args: "real"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_fenicsx_real:
needs: [build_fenicsx_real]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenicsx"
task: "test"
args: "real"
strip-args-when-packaging: ""
# FEniCSx/complex build & test
build_fenicsx_complex:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'fenicsx')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenicsx"
task: "build"
args: "complex"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_fenicsx_complex:
needs: [build_fenicsx_complex]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "fenicsx"
task: "test"
args: "complex"
strip-args-when-packaging: ""
# Firedrake/real build & test
build_firedrake_real:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'firedrake')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "firedrake"
task: "build"
args: "real"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_firedrake_real:
needs: [build_firedrake_real]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "firedrake"
task: "test"
args: "real"
strip-args-when-packaging: ""
# Firedrake/complex build & test
build_firedrake_complex:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'firedrake')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "firedrake"
task: "build"
args: "complex"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_firedrake_complex:
needs: [build_firedrake_complex]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "firedrake"
task: "test"
args: "complex"
strip-args-when-packaging: ""
# Gmsh build & test
build_gmsh:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'gmsh')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "gmsh"
task: "build"
args: ""
strip-args-when-packaging: ""
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_gmsh:
needs: [build_gmsh]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "gmsh"
task: "test"
args: ""
strip-args-when-packaging: ""
# NGSolve/real build & test
build_ngsolve_real:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'ngsolve')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "ngsolve"
task: "build"
args: "real"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_ngsolve_real:
needs: [build_ngsolve_real]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "ngsolve"
task: "test"
args: "real"
strip-args-when-packaging: ""
# NGSolve/complex build & test
build_ngsolve_complex:
if: github.repository == 'fem-on-colab/fem-on-colab' && (github.event_name == 'schedule' || (inputs || github.event.inputs).library == '' || (inputs || github.event.inputs).library == 'ngsolve')
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "ngsolve"
task: "build"
args: "complex"
strip-args-when-packaging: "false"
secrets:
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
WEBSITE_ACCESS_TOKEN: ${{ secrets.WEBSITE_ACCESS_TOKEN }}
test_ngsolve_complex:
needs: [build_ngsolve_complex]
uses: fem-on-colab/fem-on-colab/.github/workflows/release.yml@main
with:
library: "ngsolve"
task: "test"
args: "complex"
strip-args-when-packaging: ""
# Warn if scheduled workflow is about to be disabled
warn:
runs-on: ubuntu-latest
if: github.repository == 'fem-on-colab/fem-on-colab' && github.ref == 'refs/heads/main' && github.event_name == 'schedule'
steps:
- name: Warn if scheduled workflow is about to be disabled
uses: fem-on-colab/warn-workflow-about-to-be-disabled-action@main
with:
workflow-filename: schedule_end_user.yml
days-elapsed: 50