Skip to content

Commit

Permalink
prepare for the next release
Browse files Browse the repository at this point in the history
- add release.sh script to automate most of the process
- minor revisions to the unreleased changelog
- migrate away from deprecated release asset action
  • Loading branch information
zachjs committed May 7, 2024
1 parent 4dc672b commit 7cf4944
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 10 deletions.
12 changes: 5 additions & 7 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ jobs:
make test
release:
permissions:
contents: write
runs-on: ubuntu-22.04
strategy:
matrix:
Expand All @@ -107,11 +109,7 @@ jobs:
- name: Create ZIP
run: zip -r sv2v-${{ matrix.name }} ./sv2v-${{ matrix.name }}
- name: Upload Release Asset
uses: actions/upload-release-asset@v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./sv2v-${{ matrix.name }}.zip
asset_name: sv2v-${{ matrix.name }}.zip
asset_content_type: application/zip
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: gh release upload ${{ github.event.release.tag_name }} sv2v-${{ matrix.name }}.zip
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@
* `unique`, `unique0`, and `priority` case statements now produce corresponding
`parallel_case` and `full_case` statement attributes
* Added support for attributes in unary, binary, and ternary expressions
* Added support for shadowing interface names with local typenames
* Added support for streaming concatenations within ternary expressions
* Added support for shadowing interface names with local typenames
* Added support for passing through `wait` statements

### Bug Fixes

* Fixed an issue that prevented parsing tasks and functions with `inout` ports
* Fixed signed unsized literals with a leading 1 bit (e.g., `'sb1`, `'sh8f`)
incorrectly sign-extending in size and type casts
* Fixed conflicting genvar names when inlining interfaces and modules that use
them; all genvars are now given a design-wide unique name
* Fixed byte order of strings in size casts
* Fixed unconverted structs within explicit type casts
* Fixed byte order of strings in size casts
* Fixed unconverted multidimensional struct fields within dimension queries
* Fixed non-typenames (e.g., from packages or subsequent declarations)
improperly shadowing the names of `struct` pattern fields
* Fixed shadowing of interface array indices passed to port connections
* Fixed failure to resolve typenames suffixed with dimensions in contexts
permitting both types and expressions, e.g., `$bits(T[W-1:0])`
* Fixed an issue that prevented parsing tasks and functions with `inout` ports
* Fixed errant constant folding of shadowed non-trivial localparams
* Fixed conversion of function calls with no arguments passed to other functions
* Fixed certain non-ANSI style port declarations being incorrectly reported as
Expand Down
41 changes: 41 additions & 0 deletions release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash

set -e
set -x

version=$1

# ensure there are no uncommitted changes
[ "" == "$(git status --porcelain)" ]

# update the version in sv2v.cabal
sed -i.bak -e "s/^version.*/version: $version/" sv2v.cabal
diff sv2v.cabal{,.bak} && echo not changed && exit 1 || true
rm sv2v.cabal.bak

# update the version in CHANGELOG.md
sed -i.bak -e "s/^## Unreleased$/## v$version/" CHANGELOG.md
diff CHANGELOG.md{,.bak} && echo not changed && exit 1 || true
rm CHANGELOG.md.bak

# create the release commit and tag
git commit -a -m "release v$version"
git tag -a v$version HEAD -m "Release v$version"

# build and test
make
make test
[ $version == `bin/sv2v --numeric-version` ]

# push the release commit and tag
git push
git push origin v$version

# create the GitHub release
notes=`pandoc --from markdown --to markdown --wrap none CHANGELOG.md | \
sed '3,/^## /!d' | \
tac | tail -n +3 | tac`
gh release create v$version --title v$version --notes "$notes"

# create the Hackage release candidate
stack upload --test-tarball --candidate .

0 comments on commit 7cf4944

Please sign in to comment.