-
Notifications
You must be signed in to change notification settings - Fork 4
31 lines (27 loc) · 1.58 KB
/
generate-setup.yml
File metadata and controls
31 lines (27 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
name: Generate Fermitools CICD setup
on:
workflow_call:
outputs:
matrix:
description: "JSON array of matrix values"
value: ${{ jobs.generate-matrix.outputs.matrix }}
baseline_label:
description: "Build label used for conda package: dev/rc/main"
value: ${{ jobs.generate-matrix.outputs.build_label }}
env:
LABEL_FOR_BUILD: ${{ vars.BUILD_LABEL || 'dev' }}
jobs:
generate-matrix:
runs-on: ubuntu-latest
steps:
- id: set_matrix
run: |
MATRIX_VALUES='{"os": "macos-15-intel", "arch": "x86_64", "env_target_file": "fermitools-develop-osx.yml", "packages": "llvm cfitsio swig"}, {"os": "ubuntu-24.04-arm", "arch": "arm64", "env_target_file": "fermitools-develop-linux.yml"},{"os": "ubuntu-24.04", "arch": "x86", "container": "redhat/ubi8:latest", "env_target_file": "fermitools-develop-linux.yml"}, {"os": "macos-15", "arch": "arm64", "env_target_file": "fermitools-develop-osx.yml", "packages": "llvm cfitsio swig"}'
echo "matrix={\"include\":[$MATRIX_VALUES]}" >> "$GITHUB_OUTPUT"
# Build the list of OSes, architecture, file containing Python dependencies, and additional packages needed to be installed.
# Return the matrix as a ouput parameter that other Jobs can input and process as a JSON object.
# Return baseline label used by Anaconda : dev (default) , rc , or main.
# Each OS uses Python dependency environment file: fermitools-develop-linux.yml or fermitools-develop-osx.yml
outputs:
matrix: ${{ steps.set_matrix.outputs.matrix }}
build_label: ${{ env.LABEL_FOR_BUILD }}