-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release workflow / nightly build beta #212
Conversation
.github/workflows/applications.yml
Outdated
# Non Haskell dependencies | ||
|
||
# Install Z3 | ||
- name: Install z3 (ubuntu-20.04) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok; are we still even building for 20.04 or should we be doing 22.04 and 24.04?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doing 22.04 now
.github/workflows/applications.yml
Outdated
if: "!startsWith(matrix.os, 'macos-')" | ||
shell: bash | ||
run: cabal run tests | ||
# - name: Test - ARM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, that's outdated, removing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for reference the old pact repo had arm special builds because of a weird test that only worked on amd64 and pact-5's cabal run tests runs a different suite that works universally
.github/workflows/release-manual.yml
Outdated
@@ -0,0 +1,169 @@ | |||
name: Release - manual - pact | |||
|
|||
## Release automation for chainweb-node |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs update
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yup you can tell where this was copied from
.github/workflows/release-manual.yml
Outdated
UBUNTU_TAR=pact.${{ env.GHC_VERSION }}.ubuntu-22.04.${{ env.SHORT_REVISION }}.tar.gz | ||
MACOS_TAR=pact.${{ env.GHC_VERSION }}.macos-14.${{ env.SHORT_REVISION }}.tar.gz | ||
|
||
UBUNTU_RELEASE_FILE=pact-binary-bundle.ubuntu-22.04.${{ env.RELEASE_VERSION }}.tar.gz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would help a lot if the binary name format is consistent across platform/arch/os eg nodejs follows this node-v<version>-<os>-<arch>.<tarball_format>
eg node-v20.17.0-linux-x64.tar.xz
, keep in mind there are 4 or more projects that rely on GitHub releases being consistent and reliable like pactup, pact-vscode, pact-zed and pact-toolbox
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for more examples you can also check https://nodejs.org/en/download/prebuilt-binaries if you want to follow this format
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll have it match the other releases
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it matches the way we have named pact releases
pact-VERSION-linux-22.04
pact-VERSION-aarch64-osx
we are releasing for ubuntu 22.04 and osx latest which is arm only we ain't buildin for osx amd64 for pact-5
export VER=$(grep '^version' pact-tng.cabal | sed -e 's/.*: *//') | ||
mkdir -p artifacts/pact | ||
cp $(cabal list-bin pact) artifacts/pact | ||
cp CHANGELOG.md artifacts/pact |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We dont have one currently, not sure if this breaks CI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will if it doesn't exist. I suggest we submit a PR with the previous pact changes as a seed for the pact 5 changelog
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a blank in there now but the release generates a changelog from PR names.
.github/workflows/applications.yml
Outdated
chmod 755 pact/pact | ||
cat > Dockerfile <<EOF | ||
FROM ubuntu:${OS#ubuntu-} | ||
LABEL com.chainweb.docker.image.compiler="ghc-${{ matrix.ghc }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these labels correct?
export VER=$(grep '^version' pact-tng.cabal | sed -e 's/.*: *//') | ||
mkdir -p artifacts/pact | ||
cp $(cabal list-bin pact) artifacts/pact | ||
cp CHANGELOG.md artifacts/pact |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will if it doesn't exist. I suggest we submit a PR with the previous pact changes as a seed for the pact 5 changelog
This needs to be merged into master anyways to have Github recognize the new workflows, further testing is blocked from this.
creates cabal workflow, release workflow, nightly build on schedule
triggers update workflow in pact.rb for brew
removes duplicate cabal workflow