Skip to content
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

Merged
merged 8 commits into from
Sep 4, 2024

Conversation

DevopsGoth
Copy link
Contributor

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

# Non Haskell dependencies

# Install Z3
- name: Install z3 (ubuntu-20.04)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed

Copy link
Contributor Author

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?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doing 22.04 now

if: "!startsWith(matrix.os, 'macos-')"
shell: bash
run: cabal run tests
# - name: Test - ARM
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still needed?

Copy link
Contributor Author

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

Copy link
Contributor Author

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

@@ -0,0 +1,169 @@
name: Release - manual - pact

## Release automation for chainweb-node
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs update

Copy link
Contributor Author

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

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
Copy link
Contributor

@salamaashoush salamaashoush Sep 2, 2024

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

Copy link
Contributor

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

Copy link
Contributor Author

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

Copy link
Contributor Author

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

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
Copy link
Member

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

Copy link
Member

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

Copy link
Contributor Author

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.

chmod 755 pact/pact
cat > Dockerfile <<EOF
FROM ubuntu:${OS#ubuntu-}
LABEL com.chainweb.docker.image.compiler="ghc-${{ matrix.ghc }}"
Copy link
Member

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
Copy link
Member

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

@jmcardon jmcardon merged commit 1594d4c into master Sep 4, 2024
10 checks passed
@jmcardon jmcardon deleted the devopsgoth/release_publish_clean branch September 4, 2024 23:33
@rsoeldner rsoeldner mentioned this pull request Sep 5, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants