mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 10:54:35 +03:00
CI: Disable ZIP file artifacts, update versions
The GH artifacts action now lets you disable auto-zipping your artifacts. Previously, GH would always automatically put your artifacts in a ZIP file. This is annoying when your artifacts are already in a tarball. Also update the following action versions checkout: v4 -> v6 upload-artifact: v4 -> v7 download-artifact: v4 -> v8 Lastly, fix a issue where zfs-qmeu-packages now needs to power cycle the VM. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #18411
This commit is contained in:
@@ -56,9 +56,10 @@ jobs:
|
|||||||
- name: Prepare artifacts
|
- name: Prepare artifacts
|
||||||
if: failure() && steps.CheckABI.outcome == 'failure'
|
if: failure() && steps.CheckABI.outcome == 'failure'
|
||||||
run: |
|
run: |
|
||||||
find -name *.abi | tar -cf abi_files.tar -T -
|
find -name *.abi | tar -cjf abi_files.tar.bz2 -T -
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
if: failure() && steps.CheckABI.outcome == 'failure'
|
if: failure() && steps.CheckABI.outcome == 'failure'
|
||||||
with:
|
with:
|
||||||
name: New ABI files (use only if you're sure about interface changes)
|
name: New ABI files (use only if you're sure about interface changes)
|
||||||
path: abi_files.tar
|
path: abi_files.tar.bz2
|
||||||
|
archive: false
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
|
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@v3
|
||||||
|
|||||||
@@ -13,16 +13,29 @@ source env.txt
|
|||||||
|
|
||||||
mkdir -p $RESPATH
|
mkdir -p $RESPATH
|
||||||
|
|
||||||
|
TARNAME=qemu-$OS
|
||||||
|
|
||||||
# check if building the module has failed
|
# check if building the module has failed
|
||||||
if [ -z ${VMs:-} ]; then
|
if [ -z ${VMs:-} ]; then
|
||||||
cd $RESPATH
|
cd $RESPATH
|
||||||
echo ":exclamation: ZFS module didn't build successfully :exclamation:" \
|
echo ":exclamation: ZFS module didn't build successfully :exclamation:" \
|
||||||
| tee summary.txt | tee /tmp/summary.txt
|
| tee summary.txt | tee /tmp/summary.txt
|
||||||
cp /var/tmp/*.txt .
|
cp /var/tmp/*.txt .
|
||||||
tar cf /tmp/qemu-$OS.tar -C $RESPATH -h . || true
|
|
||||||
|
# rename /var/tmp/test_results to /var/tmp/qemu-$OS
|
||||||
|
mv $RESPATH $(dirname $RESPATH)/$TARNAME
|
||||||
|
tar cjf /tmp/$TARNAME.tar.bz2 -C $(dirname $RESPATH) -h $TARNAME || true
|
||||||
|
# move it back to /var/tmp/test_results (needed for next script)
|
||||||
|
mv $(dirname $RESPATH)/$TARNAME $RESPATH
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! grep -q vm /etc/hosts ; then
|
||||||
|
echo "No vm* hostnames, VMs probably didn't startup"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# build was okay
|
# build was okay
|
||||||
BASE="$HOME/work/zfs/zfs"
|
BASE="$HOME/work/zfs/zfs"
|
||||||
MERGE="$BASE/.github/workflows/scripts/merge_summary.awk"
|
MERGE="$BASE/.github/workflows/scripts/merge_summary.awk"
|
||||||
@@ -121,4 +134,9 @@ if [ ! -s uname.txt ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# artifact ready now
|
# artifact ready now
|
||||||
tar cf /tmp/qemu-$OS.tar -C $RESPATH -h . || true
|
#
|
||||||
|
# rename /var/tmp/test_results to /var/tmp/qemu-$OS
|
||||||
|
mv $RESPATH $(dirname $RESPATH)/$TARNAME
|
||||||
|
tar cjf /tmp/$TARNAME.tar.bz2 -C $(dirname $RESPATH) -h $TARNAME || true
|
||||||
|
# move it back to /var/tmp/test_results (needed for next script)
|
||||||
|
mv $(dirname $RESPATH)/$TARNAME $RESPATH
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ function send2github() {
|
|||||||
# first call, generate all summaries
|
# first call, generate all summaries
|
||||||
if [ ! -f out-1.md ]; then
|
if [ ! -f out-1.md ]; then
|
||||||
logfile="1"
|
logfile="1"
|
||||||
for tarfile in Logs-functional-*/qemu-*.tar; do
|
# The bz2 files are put into directories with the same name, like:
|
||||||
|
# "qemu-debian12.tar.bz2/qemu-debian12.tar.bz2"
|
||||||
|
for tarfile in qemu-*.tar.bz2/qemu-*.tar.bz2; do
|
||||||
rm -rf vm* *.txt
|
rm -rf vm* *.txt
|
||||||
if [ ! -s "$tarfile" ]; then
|
if [ ! -s "$tarfile" ]; then
|
||||||
output "\n## Functional Tests: unknown\n"
|
output "\n## Functional Tests: unknown\n"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout smatch
|
- name: Checkout smatch
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
repository: error27/smatch
|
repository: error27/smatch
|
||||||
ref: master
|
ref: master
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
cd $GITHUB_WORKSPACE/smatch
|
cd $GITHUB_WORKSPACE/smatch
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
- name: Checkout OpenZFS
|
- name: Checkout OpenZFS
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
path: zfs
|
path: zfs
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora42', 'fedora43']
|
os: ['almalinux8', 'almalinux9', 'almalinux10', 'fedora42', 'fedora43']
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
.github/workflows/scripts/qemu-3-deps.sh ${{ matrix.os }}
|
.github/workflows/scripts/qemu-3-deps.sh --poweroff ${{ matrix.os }}
|
||||||
|
|
||||||
- name: Build modules or Test repo
|
- name: Build modules or Test repo
|
||||||
run: |
|
run: |
|
||||||
@@ -104,17 +104,18 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
rsync -a zfs@vm0:/tmp/repo /tmp || true
|
rsync -a zfs@vm0:/tmp/repo /tmp || true
|
||||||
.github/workflows/scripts/replace-dupes-with-symlinks.sh /tmp/repo
|
.github/workflows/scripts/replace-dupes-with-symlinks.sh /tmp/repo
|
||||||
tar -cf ${{ matrix.os }}-repo.tar -C /tmp repo
|
tar -cjf ${{ matrix.os }}-repo.tar.bz2 -C /tmp repo
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
id: artifact-upload
|
id: artifact-upload
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.os }}-repo
|
name: ${{ matrix.os }}-repo
|
||||||
path: ${{ matrix.os }}-repo.tar
|
path: ${{ matrix.os }}-repo.tar.bz2
|
||||||
compression-level: 0
|
compression-level: 0
|
||||||
retention-days: 2
|
retention-days: 2
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
|
archive: false
|
||||||
|
|
||||||
combine_repos:
|
combine_repos:
|
||||||
if: always()
|
if: always()
|
||||||
@@ -122,16 +123,16 @@ jobs:
|
|||||||
name: "Results"
|
name: "Results"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v8
|
||||||
id: artifact-download
|
id: artifact-download
|
||||||
if: always()
|
if: always()
|
||||||
- name: Test Summary
|
- name: Test Summary
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
for i in $(find . -type f -iname "*.tar") ; do
|
for i in $(find . -type f -iname "*.tar.bz2") ; do
|
||||||
tar -xf $i -C /tmp
|
tar -xf $i -C /tmp
|
||||||
done
|
done
|
||||||
tar -cf all-repo.tar -C /tmp repo
|
tar -cjf all-repo.tar.bz2 -C /tmp repo
|
||||||
|
|
||||||
# If we're installing from a repo, print out the summary of the versions
|
# If we're installing from a repo, print out the summary of the versions
|
||||||
# that got installed using Markdown.
|
# that got installed using Markdown.
|
||||||
@@ -146,12 +147,12 @@ jobs:
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
id: artifact-upload2
|
id: artifact-upload2
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: all-repo
|
name: all-repo
|
||||||
path: all-repo.tar
|
path: all-repo.tar.bz2
|
||||||
compression-level: 0
|
|
||||||
retention-days: 5
|
retention-days: 5
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
|
archive: false
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
test_os: ${{ steps.os.outputs.os }}
|
test_os: ${{ steps.os.outputs.os }}
|
||||||
ci_type: ${{ steps.os.outputs.ci_type }}
|
ci_type: ${{ steps.os.outputs.ci_type }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Generate OS config and CI type
|
- name: Generate OS config and CI type
|
||||||
@@ -104,7 +104,7 @@ jobs:
|
|||||||
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
|
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
@@ -139,12 +139,13 @@ jobs:
|
|||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
run: .github/workflows/scripts/qemu-7-prepare.sh
|
run: .github/workflows/scripts/qemu-7-prepare.sh
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
id: artifact-upload
|
id: artifact-upload
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: Logs-functional-${{ matrix.os }}
|
name: Logs-functional-${{ matrix.os }}
|
||||||
path: /tmp/qemu-${{ matrix.os }}.tar
|
path: /tmp/qemu-${{ matrix.os }}.tar.bz2
|
||||||
|
archive: false
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
|
|
||||||
- name: Test Summary
|
- name: Test Summary
|
||||||
@@ -158,10 +159,10 @@ jobs:
|
|||||||
needs: [ qemu-vm ]
|
needs: [ qemu-vm ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v8
|
||||||
- name: Generating summary
|
- name: Generating summary
|
||||||
run: .github/workflows/scripts/qemu-9-summary-page.sh
|
run: .github/workflows/scripts/qemu-9-summary-page.sh
|
||||||
- name: Generating summary...
|
- name: Generating summary...
|
||||||
@@ -200,7 +201,8 @@ jobs:
|
|||||||
run: .github/workflows/scripts/qemu-9-summary-page.sh 18
|
run: .github/workflows/scripts/qemu-9-summary-page.sh 18
|
||||||
- name: Generating summary...
|
- name: Generating summary...
|
||||||
run: .github/workflows/scripts/qemu-9-summary-page.sh 19
|
run: .github/workflows/scripts/qemu-9-summary-page.sh 19
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: Summary Files
|
name: Summary Files
|
||||||
path: out-*
|
path: out-*
|
||||||
|
archive: true
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
WORK_DIR: /mnt/zloop
|
WORK_DIR: /mnt/zloop
|
||||||
CORE_DIR: /mnt/zloop/cores
|
CORE_DIR: /mnt/zloop/cores
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
if: failure()
|
if: failure()
|
||||||
run: |
|
run: |
|
||||||
cat $CORE_DIR/*/ztest.zdb
|
cat $CORE_DIR/*/ztest.zdb
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
name: Logs
|
name: Logs
|
||||||
@@ -69,7 +69,7 @@ jobs:
|
|||||||
/mnt/zloop/*/
|
/mnt/zloop/*/
|
||||||
!/mnt/zloop/cores/*/vdev/
|
!/mnt/zloop/cores/*/vdev/
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v7
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
name: Pool files
|
name: Pool files
|
||||||
|
|||||||
Reference in New Issue
Block a user