Skip to content

fix release workflow #12

fix release workflow

fix release workflow #12

Workflow file for this run

################################################################################
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileType: OTHER
# SPDX-FileCopyrightText: (c) 2021-2022, The Raetro authors and contributors
################################################################################
name: Create New Core Release
################################################################################
#env:
#ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Trigger only when tag matches v*, i.e. v1.0, v21.12.31, v211231
################################################################################
defaults:
run:
working-directory: Quartus
jobs:
create_release:
runs-on: ubuntu-latest
container:
image: mbtaylor1982/quartus:22.1
credentials:
username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_PWD }}
#container: raetro/quartus:17.1 # Use DockerHub
############################################################################
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
############################################################################
steps:
##########################################################################
## 1 - Checkout repository
##########################################################################
- name: Checkout repository
uses: actions/checkout@v4
##########################################################################
## 2 - Get current version for tagging
##########################################################################
- name: Get the tag / version
id: version
run: echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
##########################################################################
## 3 - add tag to version register
##########################################################################
- name: Replace /$V$ in file registers.v with tag
uses: richardrigutins/replace-in-files@v2
with:
files: 'RTL/Registers/registers.v'
search-text: '/$V$'
replacement-text: ${{ steps.version.outputs.version }}
- name: Replace /$V$ in file cocotb_resdmac.py with tag
uses: richardrigutins/replace-in-files@v2
with:
files: 'RTL/cocotb/cocotb_resdmac.py'
search-text: '/$V$'
replacement-text: ${{ steps.version.outputs.version }}
##########################################################################
## 4 - RTL synthesis
##########################################################################
- name: Run 10M16 compilation flow
run: quartus_sh -t RESDMAC.tcl 10M16SCU169C8G
- name: Run 10M04 compilation flow
run: quartus_sh -t RESDMAC.tcl 10M04SCU169C8G
##########################################################################
## 5 - Upload artifacts
##########################################################################
- name: Upload artifacts 10M16
uses: actions/upload-artifact@v4
with:
name: RESDMAC_10M16_${{ steps.version.outputs.version }}.zip
path: Quartus/output_files_10M16SCU169C8G
retention-days: 0
- name: Upload artifacts 10M04
uses: actions/upload-artifact@v4
with:
name: RESDMAC_10M04_${{ steps.version.outputs.version }}.zip
path: Quartus/output_files_10M04SCU169C8G
retention-days: 0
##########################################################################
## 6 - Create tag with version and SHA256 checksum
##########################################################################
- name: Copy, tag with version and create SHA256 checksum
run: |
mkdir -p ../releases
cp output_files_10M16SCU169C8G/RESDMAC.pof ../releases/RESDMAC_10M16_${{ steps.version.outputs.version }}.pof
cp output_files_10M04SCU169C8G/RESDMAC.pof ../releases/RESDMAC_10M04_${{ steps.version.outputs.version }}.pof
sha256sum output_files_10M16SCU169C8G/RESDMAC.pof > ../releases/RESDMAC_10M16_${{ steps.version.outputs.version }}.pof.sha256
sha256sum output_files_10M04SCU169C8G/RESDMAC.pof > ../releases/RESDMAC_10M04_${{ steps.version.outputs.version }}.pof.sha256
##########################################################################
## 7 - Gernerate Change Log
##########################################################################
- name: Changelog
uses: janheinrichmerker/action-github-changelog-generator@v2.3
with:
token: ${{ secrets.GITHUB_TOKEN }}
##########################################################################
## 8 - Create a new GitHub release and upload the distribution artifacts
##########################################################################
- name: Create a new GitHub release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
body: |
${{ steps.Changelog.outputs.changelog }}
files: |
releases/RESDMAC_10M16_${{ steps.version.outputs.version }}.pof
releases/RESDMAC_10M16_${{ steps.version.outputs.version }}.pof.sha256
releases/RESDMAC_10M04_${{ steps.version.outputs.version }}.pof
releases/RESDMAC_10M04_${{ steps.version.outputs.version }}.pof.sha256