Debug builds (SiDi128) #107
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Debug builds (SiDi128)" | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
repository_dispatch: | ||
types: rebuild | ||
# schedule: | ||
# - cron: '0 3 * * 4' # runs every Thursday night | ||
jobs: | ||
list_cores: | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
outputs: | ||
cores: ${{ steps.generate-matrix.outputs.cores }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: 'recursive' | ||
token: ${{ secrets.PAT }} | ||
- id: generate-matrix | ||
run: | | ||
cd cores | ||
# Get list of cores ready for compilation | ||
CORES='[' | ||
for i in *; do | ||
if [[ -e $i/cfg/macros.def && ! -e $i/cfg/skip ]]; then | ||
if [ "$CORES" != '[' ]; then CORES="$CORES, "; fi | ||
CORES="$CORES \"$i\"" | ||
fi | ||
done | ||
CORES="$CORES ]" | ||
echo $CORES | ||
echo "cores=${CORES}" >> $GITHUB_OUTPUT | ||
compile_cores20: | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash | ||
needs: | ||
- list_cores | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
core: ${{ fromJSON(needs.list_cores.outputs.cores) }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: 'recursive' | ||
token: ${{ secrets.PAT }} | ||
- id: compile | ||
run: | | ||
# Compilation on Quartus 20.1 | ||
docker run -e BETAKEY=${{ secrets.BETAKEY }} --network host -v `pwd`:/jtcores jotego/jtcore20 /jtcores/modules/jtframe/devops/xjtcore.sh ${{matrix.core}} --debug sidi128 | ||
- id: upload | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: release-q20-${{ matrix.core }} | ||
path: release | ||
retention-days: 15 | ||
join_artifacts: | ||
runs-on: ubuntu-latest | ||
needs: [ compile_cores20 ] | ||
if: ${{ always() }} # upload the results even if some core did not compile correctly | ||
steps: | ||
- name: Download all artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
path: release | ||
pattern: release-q* | ||
merge-multiple: true | ||
- name: Upload combined artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: release | ||
path: release | ||
retention-days: 15 |