Skip to content

Fix hash ordering #1457

Fix hash ordering

Fix hash ordering #1457

Workflow file for this run

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/by-root@v3.1
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/copy-root-aws-credentials@v3.1
- 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/release-action@v1.14.0
# with:
# artifacts: pact-binary-bundle.${{ matrix.os }}.tar.gz
# tag: nightly
# replacesArtifacts: true
# allowUpdates: true