From fe27ee9a6775ded25696db0b119b5ebfffea3394 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Tue, 7 Oct 2025 21:13:07 +0000 Subject: [PATCH 01/10] Al2023 CI tests Signed-off-by: Tadiwa Magwenzi --- .../workflows/amazon_linux_2023_packaging.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/amazon_linux_2023_packaging.yml diff --git a/.github/workflows/amazon_linux_2023_packaging.yml b/.github/workflows/amazon_linux_2023_packaging.yml new file mode 100644 index 000000000..97416613f --- /dev/null +++ b/.github/workflows/amazon_linux_2023_packaging.yml @@ -0,0 +1,175 @@ +name: Amazon Linux 2023 RPM Build and Test + +on: + pull_request: + branches: [ "main" ] + push: + branches: [ "main" ] + merge_group: + types: [ "checks_requested" ] + +env: + RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + S3_BUCKET_NAME: ${{ vars.S3_BUCKET_NAME }} + S3_REGION: ${{ vars.S3_REGION }} + +permissions: + id-token: write + contents: read + +jobs: + al2023-package-test: + name: Amazon Linux 2023 RPM Build and Test + runs-on: ubuntu-latest + container: + image: amazonlinux:2023 + options: --privileged + + steps: + - name: Install Git + run: dnf -y install git + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v5 + with: + role-to-assume: ${{ vars.ACTIONS_IAM_ROLE }} + aws-region: ${{ vars.S3_REGION }} + + - name: Checkout code + uses: actions/checkout@v5 + with: + submodules: true + persist-credentials: false + + - name: Install build tools and dependencies + run: | + dnf -y install rpm-build rpmdevtools make git \ + mock \ + ca-certificates \ + python3 \ + rust \ + cargo \ + + cargo install cargo-about + + - name: Generate Amazon Linux 2023 spec file + run: | + cd $GITHUB_WORKSPACE + cd package + python3 generate_spec.py amzn2023 + ls -la amzn2023-packaging.spec + + - name: Build source tarball and SRPM + run: | + cd $GITHUB_WORKSPACE + + echo " Extracting version from spec file..." + VERSION=$(awk '/^Version:/ {print $2}' package/amzn2023-packaging.spec) + echo " Building version: $VERSION" + + echo " Generating vendor dependencies..." + cargo vendor + echo " Cargo vendor completed" + + echo " Generating license file..." + cargo about generate --config package/attribution.toml --output-file THIRD_PARTY_LICENSES package/attribution.hbs + echo "Third party License file generated" + + echo " Setting up RPM build directory..." + rpmdev-setuptree + echo " RPM directories created" + + cp package/amzn2023-packaging.spec ~/rpmbuild/SPECS/ + + cp LICENSE ~/rpmbuild/SOURCES/ + cp NOTICE ~/rpmbuild/SOURCES/ + cp THIRD_PARTY_LICENSES ~/rpmbuild/SOURCES/ + echo "RPM Sources created" + + echo " Creating source tarball..." + cd .. + tar -czf mountpoint-s3-${VERSION}.tar.gz mountpoint-s3 + ls -la + cp mountpoint-s3-${VERSION}.tar.gz ~/rpmbuild/SOURCES/ + echo " Source tarball created" + + echo " Checking SOURCES directory contents..." + ls -la ~/rpmbuild/SOURCES/ + echo " Contents of SOURCES directory listed" + + echo " Building Source RPM..." + rpmbuild -bs ~/rpmbuild/SPECS/amzn2023-packaging.spec + echo " SRPM build completed" + + echo " Verifying SRPM was created..." + ls -la ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm + + # Export VERSION for next step + echo "VERSION=${VERSION}" >> $GITHUB_ENV + + - name: Avoid PAM issues by installing sudo interactively + run: | + # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 + echo "y" | dnf install sudo + chmod 0400 /etc/shadow || true + + - name: Test RPM build with Mock in Amazon Linux 2023 chroot + run: | + echo " Building binary RPM for version: $VERSION" + + sudo mock -r amazonlinux-2023-x86_64 --clean + + sudo mock -r amazonlinux-2023-x86_64 --rebuild ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm + + echo "Files created" + + ls -la /var/lib/mock/amazonlinux-2023-x86_64/result/ + + echo " Mock build completed" + + - name: Test RPM installation + run: | + echo "Testing RPM installation..." + + # Install the main binary RPM + echo "Installing mount-s3 RPM..." + dnf -y install /var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm + + # Verify installation + echo "Verifying installation..." + which mount-s3 + + # Test basic functionality + echo "Testing basic functionality..." + mount-s3 --version + mount-s3 --help | head -10 + + # Show what files were installed + echo "Files installed by RPM:" + rpm -ql mount-s3 + + # Show package info + echo "Package information:" + rpm -qi mount-s3 + + echo "RPM installation test completed successfully" + + - name: Test mount with file operations + run: | + dnf -y install awscli + + mkdir -p /mnt/s3-test + + # Use allowed prefix: github-actions-tmp/ + TEST_PREFIX="github-actions-tmp/run-${{ github.run_id }}/rpm-test/" + + echo "Hello from RPM test" | aws s3 cp - "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" + mount-s3 ${S3_BUCKET_NAME} /mnt/s3-test --prefix=${TEST_PREFIX} --region=${S3_REGION} + + ls -la /mnt/s3-test/ + cat /mnt/s3-test/test.txt + + sudo umount /mnt/s3-test + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" \ No newline at end of file From fd6616f7612b459219c939fad51e287c9ab6f1c4 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Wed, 8 Oct 2025 08:23:50 +0000 Subject: [PATCH 02/10] Formatting updates Signed-off-by: Tadiwa Magwenzi --- .github/workflows/amazon_linux_2023_packaging.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/amazon_linux_2023_packaging.yml b/.github/workflows/amazon_linux_2023_packaging.yml index 97416613f..7aa9c0255 100644 --- a/.github/workflows/amazon_linux_2023_packaging.yml +++ b/.github/workflows/amazon_linux_2023_packaging.yml @@ -1,12 +1,7 @@ name: Amazon Linux 2023 RPM Build and Test on: - pull_request: - branches: [ "main" ] - push: - branches: [ "main" ] - merge_group: - types: [ "checks_requested" ] + pull_request_target: env: RUST_BACKTRACE: 1 @@ -23,6 +18,7 @@ jobs: al2023-package-test: name: Amazon Linux 2023 RPM Build and Test runs-on: ubuntu-latest + environment: PR integration tests container: image: amazonlinux:2023 options: --privileged @@ -40,6 +36,7 @@ jobs: - name: Checkout code uses: actions/checkout@v5 with: + ref: ${{ github.event.pull_request.head.sha }} submodules: true persist-credentials: false From 8a9fa1892be8194e4937afada958ba70ee3cf359 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Wed, 8 Oct 2025 19:18:25 +0000 Subject: [PATCH 03/10] AL2023 CI Build Signed-off-by: Tadiwa Magwenzi --- ..._2023_packaging.yml => amzn2023_build.yml} | 109 +++++++----------- 1 file changed, 41 insertions(+), 68 deletions(-) rename .github/workflows/{amazon_linux_2023_packaging.yml => amzn2023_build.yml} (52%) diff --git a/.github/workflows/amazon_linux_2023_packaging.yml b/.github/workflows/amzn2023_build.yml similarity index 52% rename from .github/workflows/amazon_linux_2023_packaging.yml rename to .github/workflows/amzn2023_build.yml index 7aa9c0255..c119f9b36 100644 --- a/.github/workflows/amazon_linux_2023_packaging.yml +++ b/.github/workflows/amzn2023_build.yml @@ -3,6 +3,10 @@ name: Amazon Linux 2023 RPM Build and Test on: pull_request_target: +permissions: + id-token: write + contents: read + env: RUST_BACKTRACE: 1 CARGO_TERM_COLOR: always @@ -10,9 +14,6 @@ env: S3_BUCKET_NAME: ${{ vars.S3_BUCKET_NAME }} S3_REGION: ${{ vars.S3_REGION }} -permissions: - id-token: write - contents: read jobs: al2023-package-test: @@ -48,125 +49,97 @@ jobs: python3 \ rust \ cargo \ + awscli \ + sudo cargo install cargo-about - name: Generate Amazon Linux 2023 spec file run: | - cd $GITHUB_WORKSPACE - cd package - python3 generate_spec.py amzn2023 - ls -la amzn2023-packaging.spec + cd "$GITHUB_WORKSPACE" + python3 package/generate_spec.py amzn2023 + ls -la - name: Build source tarball and SRPM run: | - cd $GITHUB_WORKSPACE - - echo " Extracting version from spec file..." VERSION=$(awk '/^Version:/ {print $2}' package/amzn2023-packaging.spec) - echo " Building version: $VERSION" - echo " Generating vendor dependencies..." cargo vendor - echo " Cargo vendor completed" - echo " Generating license file..." cargo about generate --config package/attribution.toml --output-file THIRD_PARTY_LICENSES package/attribution.hbs - echo "Third party License file generated" - echo " Setting up RPM build directory..." rpmdev-setuptree - echo " RPM directories created" cp package/amzn2023-packaging.spec ~/rpmbuild/SPECS/ + cp LICENSE NOTICE THIRD_PARTY_LICENSES ~/rpmbuild/SOURCES - cp LICENSE ~/rpmbuild/SOURCES/ - cp NOTICE ~/rpmbuild/SOURCES/ - cp THIRD_PARTY_LICENSES ~/rpmbuild/SOURCES/ - echo "RPM Sources created" - - echo " Creating source tarball..." cd .. - tar -czf mountpoint-s3-${VERSION}.tar.gz mountpoint-s3 + tar -czf "mountpoint-s3-${VERSION}.tar.gz" mountpoint-s3 ls -la - cp mountpoint-s3-${VERSION}.tar.gz ~/rpmbuild/SOURCES/ - echo " Source tarball created" - echo " Checking SOURCES directory contents..." + cp "mountpoint-s3-${VERSION}.tar.gz" ~/rpmbuild/SOURCES/ + ls -la ~/rpmbuild/SOURCES/ - echo " Contents of SOURCES directory listed" - echo " Building Source RPM..." rpmbuild -bs ~/rpmbuild/SPECS/amzn2023-packaging.spec - echo " SRPM build completed" - - echo " Verifying SRPM was created..." - ls -la ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm - # Export VERSION for next step - echo "VERSION=${VERSION}" >> $GITHUB_ENV + ls -la ~/rpmbuild/SRPMS/ + + echo "VERSION=${VERSION}" >> "$GITHUB_ENV" - name: Avoid PAM issues by installing sudo interactively run: | # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 - echo "y" | dnf install sudo - chmod 0400 /etc/shadow || true + chmod 0400 /etc/shadow - name: Test RPM build with Mock in Amazon Linux 2023 chroot run: | - echo " Building binary RPM for version: $VERSION" - - sudo mock -r amazonlinux-2023-x86_64 --clean - - sudo mock -r amazonlinux-2023-x86_64 --rebuild ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm - - echo "Files created" + sudo mock -r amazonlinux-2023-x86_64 --rebuild "~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm" ls -la /var/lib/mock/amazonlinux-2023-x86_64/result/ - echo " Mock build completed" - - name: Test RPM installation run: | - echo "Testing RPM installation..." + dnf -y install "/var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm" - # Install the main binary RPM - echo "Installing mount-s3 RPM..." - dnf -y install /var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm - - # Verify installation - echo "Verifying installation..." which mount-s3 - # Test basic functionality - echo "Testing basic functionality..." mount-s3 --version + mount-s3 --help | head -10 # Show what files were installed - echo "Files installed by RPM:" rpm -ql mount-s3 - # Show package info - echo "Package information:" + # Show detailed package information rpm -qi mount-s3 - echo "RPM installation test completed successfully" - - - name: Test mount with file operations + - name: Basic Functionality Tests run: | - dnf -y install awscli - mkdir -p /mnt/s3-test - # Use allowed prefix: github-actions-tmp/ TEST_PREFIX="github-actions-tmp/run-${{ github.run_id }}/rpm-test/" + # Read Test + echo "Hello from RPM test" | aws s3 cp - "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" - mount-s3 ${S3_BUCKET_NAME} /mnt/s3-test --prefix=${TEST_PREFIX} --region=${S3_REGION} - ls -la /mnt/s3-test/ - cat /mnt/s3-test/test.txt + mount-s3 "${S3_BUCKET_NAME}" /mnt/s3-test --prefix="${TEST_PREFIX}" --region="${S3_REGION}" + cat /mnt/s3-test/test.txt | grep -q "Hello from RPM test" + + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" + + # Write Test + + # Ensuring write test file doesn't exist in S3 first + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" || true + + echo "Hello from RPM write test" > /mnt/s3-test/write-test.txt + + # Verify the file exists in S3 with correct content + aws s3 cp "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" - | grep -q "Hello from RPM write test" + sudo umount /mnt/s3-test - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" \ No newline at end of file + + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" \ No newline at end of file From 3ae79a7c61de8dd6f1b3fe45f8d7cfaec3423653 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Fri, 10 Oct 2025 00:13:52 +0000 Subject: [PATCH 04/10] AL2023 CI Updates Signed-off-by: Tadiwa Magwenzi --- .../{amzn2023_build.yml => al2023_build.yml} | 91 +++++-------------- 1 file changed, 25 insertions(+), 66 deletions(-) rename .github/workflows/{amzn2023_build.yml => al2023_build.yml} (60%) diff --git a/.github/workflows/amzn2023_build.yml b/.github/workflows/al2023_build.yml similarity index 60% rename from .github/workflows/amzn2023_build.yml rename to .github/workflows/al2023_build.yml index c119f9b36..17a3db0a6 100644 --- a/.github/workflows/amzn2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -1,7 +1,10 @@ -name: Amazon Linux 2023 RPM Build and Test +name: AL2023 RPM Build Tests on: - pull_request_target: + pull_request: + branches: [ "main" ] + push: + branches: [ "main" ] permissions: id-token: write @@ -14,19 +17,19 @@ env: S3_BUCKET_NAME: ${{ vars.S3_BUCKET_NAME }} S3_REGION: ${{ vars.S3_REGION }} - jobs: al2023-package-test: name: Amazon Linux 2023 RPM Build and Test runs-on: ubuntu-latest - environment: PR integration tests container: image: amazonlinux:2023 options: --privileged steps: - - name: Install Git - run: dnf -y install git + - name: Install build tools and dependencies + run: | + dnf -y install git rpm-build rpmdevtools make mock ca-certificates python3 rust cargo sudo awscli + cargo install cargo-about - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v5 @@ -37,109 +40,65 @@ jobs: - name: Checkout code uses: actions/checkout@v5 with: - ref: ${{ github.event.pull_request.head.sha }} submodules: true persist-credentials: false - - name: Install build tools and dependencies - run: | - dnf -y install rpm-build rpmdevtools make git \ - mock \ - ca-certificates \ - python3 \ - rust \ - cargo \ - awscli \ - sudo - - cargo install cargo-about - - name: Generate Amazon Linux 2023 spec file run: | - cd "$GITHUB_WORKSPACE" python3 package/generate_spec.py amzn2023 - ls -la - name: Build source tarball and SRPM run: | - VERSION=$(awk '/^Version:/ {print $2}' package/amzn2023-packaging.spec) - + VERSION=$(awk '/^Version:/ {print $2}' amzn2023.spec) cargo vendor - cargo about generate --config package/attribution.toml --output-file THIRD_PARTY_LICENSES package/attribution.hbs - rpmdev-setuptree - cp package/amzn2023-packaging.spec ~/rpmbuild/SPECS/ + cp amzn2023.spec ~/rpmbuild/SPECS/ cp LICENSE NOTICE THIRD_PARTY_LICENSES ~/rpmbuild/SOURCES cd .. tar -czf "mountpoint-s3-${VERSION}.tar.gz" mountpoint-s3 - ls -la - cp "mountpoint-s3-${VERSION}.tar.gz" ~/rpmbuild/SOURCES/ - - ls -la ~/rpmbuild/SOURCES/ - - rpmbuild -bs ~/rpmbuild/SPECS/amzn2023-packaging.spec - - ls -la ~/rpmbuild/SRPMS/ - + rpmbuild -bs ~/rpmbuild/SPECS/amzn2023.spec echo "VERSION=${VERSION}" >> "$GITHUB_ENV" - - name: Avoid PAM issues by installing sudo interactively + - name: Preventing container PAM sudo errors run: | # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 - chmod 0400 /etc/shadow + chmod 0400 /etc/shadow - name: Test RPM build with Mock in Amazon Linux 2023 chroot run: | - sudo mock -r amazonlinux-2023-x86_64 --rebuild "~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm" - - ls -la /var/lib/mock/amazonlinux-2023-x86_64/result/ + sudo mock -r amazonlinux-2023-x86_64 --rebuild ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm - name: Test RPM installation run: | - dnf -y install "/var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm" - + dnf -y install /var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm which mount-s3 - mount-s3 --version - - mount-s3 --help | head -10 - - # Show what files were installed - rpm -ql mount-s3 - - # Show detailed package information - rpm -qi mount-s3 - + mount-s3 --help + - name: Basic Functionality Tests run: | mkdir -p /mnt/s3-test TEST_PREFIX="github-actions-tmp/run-${{ github.run_id }}/rpm-test/" + echo "TEST_PREFIX=${TEST_PREFIX}" >> "$GITHUB_ENV" # Read Test - echo "Hello from RPM test" | aws s3 cp - "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" - mount-s3 "${S3_BUCKET_NAME}" /mnt/s3-test --prefix="${TEST_PREFIX}" --region="${S3_REGION}" - cat /mnt/s3-test/test.txt | grep -q "Hello from RPM test" - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" - # Write Test - - # Ensuring write test file doesn't exist in S3 first - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" || true - echo "Hello from RPM write test" > /mnt/s3-test/write-test.txt - - # Verify the file exists in S3 with correct content aws s3 cp "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" - | grep -q "Hello from RPM write test" - + sudo umount /mnt/s3-test - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" \ No newline at end of file + - name: Cleanup test resources + if: always() + run: | + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" || true + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" || true \ No newline at end of file From 95a94aa79b26a5890598199cd06bc56b4c551e24 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Fri, 10 Oct 2025 09:41:37 +0000 Subject: [PATCH 05/10] AL2023 CI test cleaup updates Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index 17a3db0a6..cecbf0c0a 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -100,5 +100,5 @@ jobs: - name: Cleanup test resources if: always() run: | - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" || true - aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" || true \ No newline at end of file + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" + aws s3 rm "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}write-test.txt" \ No newline at end of file From 4a0adf04e09e6dbe820eaccf38240a681eb8ecb0 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Sun, 12 Oct 2025 16:50:59 +0000 Subject: [PATCH 06/10] AL2023 CI Adjustments Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index cecbf0c0a..74ca83e42 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -1,10 +1,7 @@ name: AL2023 RPM Build Tests on: - pull_request: - branches: [ "main" ] - push: - branches: [ "main" ] + pull_request_target: permissions: id-token: write @@ -16,6 +13,7 @@ env: CARGO_INCREMENTAL: 0 S3_BUCKET_NAME: ${{ vars.S3_BUCKET_NAME }} S3_REGION: ${{ vars.S3_REGION }} + TEST_PREFIX: "github-actions-tmp/run-${{ github.run_id }}/rpm-test/" jobs: al2023-package-test: @@ -31,6 +29,11 @@ jobs: dnf -y install git rpm-build rpmdevtools make mock ca-certificates python3 rust cargo sudo awscli cargo install cargo-about + - name: Preventing container PAM sudo errors + run: | + # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 + chmod 0400 /etc/shadow + - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v5 with: @@ -63,11 +66,6 @@ jobs: rpmbuild -bs ~/rpmbuild/SPECS/amzn2023.spec echo "VERSION=${VERSION}" >> "$GITHUB_ENV" - - name: Preventing container PAM sudo errors - run: | - # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 - chmod 0400 /etc/shadow - - name: Test RPM build with Mock in Amazon Linux 2023 chroot run: | sudo mock -r amazonlinux-2023-x86_64 --rebuild ~/rpmbuild/SRPMS/mount-s3-${VERSION}-amzn2023.src.rpm @@ -77,15 +75,12 @@ jobs: dnf -y install /var/lib/mock/amazonlinux-2023-x86_64/result/mount-s3-${VERSION}-amzn2023.x86_64.rpm which mount-s3 mount-s3 --version - mount-s3 --help - + mount-s3 --help + - name: Basic Functionality Tests run: | mkdir -p /mnt/s3-test - TEST_PREFIX="github-actions-tmp/run-${{ github.run_id }}/rpm-test/" - echo "TEST_PREFIX=${TEST_PREFIX}" >> "$GITHUB_ENV" - # Read Test echo "Hello from RPM test" | aws s3 cp - "s3://${S3_BUCKET_NAME}/${TEST_PREFIX}test.txt" mount-s3 "${S3_BUCKET_NAME}" /mnt/s3-test --prefix="${TEST_PREFIX}" --region="${S3_REGION}" From c33224f791927bb862728391489e7e5ed0a23cd2 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Mon, 13 Oct 2025 14:15:03 +0000 Subject: [PATCH 07/10] CI sumamry spec Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index 74ca83e42..aebc94df6 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -49,6 +49,11 @@ jobs: - name: Generate Amazon Linux 2023 spec file run: | python3 package/generate_spec.py amzn2023 + echo "## Generated Amazon Linux 2023 Spec File" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```spec' >> $GITHUB_STEP_SUMMARY + cat amzn2023.spec >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY - name: Build source tarball and SRPM run: | From 61f9691d87760401e5daa42bbc04c83802324f28 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Mon, 13 Oct 2025 16:14:35 +0000 Subject: [PATCH 08/10] CI Updates Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index aebc94df6..4b9b4f2ef 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -26,7 +26,8 @@ jobs: steps: - name: Install build tools and dependencies run: | - dnf -y install git rpm-build rpmdevtools make mock ca-certificates python3 rust cargo sudo awscli + dnf -y install git rpm-build rpmdevtools make mock ca-certificates python3 python3-pip rust cargo sudo awscli + python3 -m pip install jinja2 tomli cargo install cargo-about - name: Preventing container PAM sudo errors From 0a308f687fe93e5ec0c352e6e162f12294e64183 Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Mon, 13 Oct 2025 19:53:29 +0000 Subject: [PATCH 09/10] AL2023 CI Updates Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index 4b9b4f2ef..39d17e97a 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -26,10 +26,12 @@ jobs: steps: - name: Install build tools and dependencies run: | - dnf -y install git rpm-build rpmdevtools make mock ca-certificates python3 python3-pip rust cargo sudo awscli - python3 -m pip install jinja2 tomli + dnf -y install git rpm-build rpmdevtools make mock ca-certificates rust cargo sudo awscli cargo install cargo-about + - name: Install uv + uses: astral-sh/setup-uv@v6 + - name: Preventing container PAM sudo errors run: | # https://github.com/geerlingguy/docker-rockylinux9-ansible/issues/6 @@ -49,11 +51,12 @@ jobs: - name: Generate Amazon Linux 2023 spec file run: | - python3 package/generate_spec.py amzn2023 + cd package + uv run python generate_spec.py amzn2023 && mv amzn2023.spec ../ echo "## Generated Amazon Linux 2023 Spec File" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo '```spec' >> $GITHUB_STEP_SUMMARY - cat amzn2023.spec >> $GITHUB_STEP_SUMMARY + cat ../amzn2023.spec >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY - name: Build source tarball and SRPM From 602c423ea2550c41156a532d5d8de193f5103f3d Mon Sep 17 00:00:00 2001 From: Tadiwa Magwenzi Date: Mon, 13 Oct 2025 23:25:42 +0000 Subject: [PATCH 10/10] CI Updates Signed-off-by: Tadiwa Magwenzi --- .github/workflows/al2023_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/al2023_build.yml b/.github/workflows/al2023_build.yml index 39d17e97a..afcd5c50f 100644 --- a/.github/workflows/al2023_build.yml +++ b/.github/workflows/al2023_build.yml @@ -57,6 +57,7 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY echo '```spec' >> $GITHUB_STEP_SUMMARY cat ../amzn2023.spec >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY - name: Build source tarball and SRPM