Fix hash ordering #1454
Workflow file for this run
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: Build and cache with Nix | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- '**' | |
- '!.github/**' | |
- '.github/workflows/nix.yml' | |
jobs: | |
build-and-cache: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 740 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Nix with caching | |
uses: kadena-io/setup-nix-with-cache/[email protected] | |
with: | |
cache_url: s3://nixcache.chainweb.com?region=us-east-1 | |
signing_private_key: ${{ secrets.NIX_CACHE_PRIVATE_KEY }} | |
additional_experimental_features: recursive-nix | |
- name: Set up AWS credentials | |
uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
aws-access-key-id: ${{ secrets.NIX_CACHE_AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.NIX_CACHE_AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Give root user AWS credentials | |
uses: kadena-io/setup-nix-with-cache/[email protected] | |
- name: Build and cache artifacts | |
run: | | |
#echo Building the project and its devShell | |
#nix build .#check --log-lines 500 --show-trace --accept-flake-config | |
echo Build the bundle | |
nix build .#pact-binary-bundle --log-lines 500 --show-trace --out-link pact-binary-bundle --accept-flake-config | |
#echo Build the recursive output | |
#nix build .#recursive.allDerivations --log-lines 500 --show-trace --accept-flake-config | |
- name: Prepare artifacts with adjusted permissions | |
run: | | |
# Resolve the actual path of the output | |
BUNDLE_PATH=$(readlink pact-binary-bundle) | |
# Create a temporary directory for copying | |
mkdir bundle_copy | |
# Copy the contents to the temporary directory | |
cp -r "$BUNDLE_PATH"/* bundle_copy/ | |
# Change permissions to make all files writable by the user and group | |
chmod -R ug+w bundle_copy/ | |
echo "Creating tarball with adjusted permissions..." | |
tar -zcvf pact-binary-bundle.${{ matrix.os }}.tar.gz -C bundle_copy/ . | |
- name: Publish the bundle | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pact-bundle.${{ matrix.os }} | |
path: pact-binary-bundle | |
retention-days: 5 | |
# - name: Release latest build | |
# if: github.ref == 'refs/heads/master' | |
# uses: ncipollo/[email protected] | |
# with: | |
# artifacts: pact-binary-bundle.${{ matrix.os }}.tar.gz | |
# tag: nightly | |
# replacesArtifacts: true | |
# allowUpdates: true |