Skip to content

Commit

Permalink
GHA: add v1.5 daily packages checking
Browse files Browse the repository at this point in the history
    - remove v1.2, v1.2 is EoL

Signed-off-by: Vicente Cheng <[email protected]>
  • Loading branch information
Vicente-Cheng committed Feb 3, 2025
1 parent 58191e0 commit 9cb8f14
Showing 1 changed file with 40 additions and 51 deletions.
91 changes: 40 additions & 51 deletions .github/workflows/diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ on:
- cron: "0 5 * * *"

env:
OS_IMAGE_v1_5_x: registry.opensuse.org/isv/rancher/harvester/os/v1.5/main/baseos:latest
OS_IMAGE_v1_4_x: registry.opensuse.org/isv/rancher/harvester/os/v1.4/main/baseos:latest
OS_IMAGE_v1_3_x: registry.opensuse.org/isv/rancher/harvester/os/v1.3/main/baseos:latest
OS_IMAGE_v1_2_x: registry.opensuse.org/isv/rancher/harvester/os/v1.2/main/baseos:latest

jobs:
get-all-releases:
runs-on: ubuntu-latest
outputs:
releaseName_v1_5_x: ${{ steps.get_release_v1_5_x.outputs.releaseName }}
releaseName_v1_4_x: ${{ steps.get_release_v1_4_x.outputs.releaseName }}
releaseName_v1_3_x: ${{ steps.get_release_v1_3_x.outputs.releaseName }}
releaseName_v1_2_x: ${{ steps.get_release_v1_2_x.outputs.releaseName }}

steps:
- name: Get all releases
Expand All @@ -32,47 +32,47 @@ jobs:
const releases = response.data;
core.setOutput('allReleases', releases);
- name: Get v1.4 latest release
id: get_release_v1_4_x
- name: Get v1.5 latest release
id: get_release_v1_5_x
uses: actions/github-script@v6
with:
script: |
const releases = ${{ steps.get_all_releases.outputs.allReleases }};
const releaseNamePrefix = "v1.4";
const releaseNamePrefix = "v1.5";
const foundRelease = releases.find(release => release.name.startsWith(releaseNamePrefix));
if (foundRelease) {
const releaseName = foundRelease.name;
core.setOutput('releaseName', releaseName);
}
- name: Get v1.3 latest release
id: get_release_v1_3_x
- name: Get v1.4 latest release
id: get_release_v1_4_x
uses: actions/github-script@v6
with:
script: |
const releases = ${{ steps.get_all_releases.outputs.allReleases }};
const releaseNamePrefix = "v1.3";
const releaseNamePrefix = "v1.4";
const foundRelease = releases.find(release => release.name.startsWith(releaseNamePrefix));
if (foundRelease) {
const releaseName = foundRelease.name;
core.setOutput('releaseName', releaseName);
}
- name: Get v1.2 latest release
id: get_release_v1_2_x
- name: Get v1.3 latest release
id: get_release_v1_3_x
uses: actions/github-script@v6
with:
script: |
const releases = ${{ steps.get_all_releases.outputs.allReleases }};
const releaseNamePrefix = "v1.2";
const releaseNamePrefix = "v1.3";
const foundRelease = releases.find(release => release.name.startsWith(releaseNamePrefix));
if (foundRelease) {
const releaseName = foundRelease.name;
core.setOutput('releaseName', releaseName);
}
fetch-v1-4-x-diff:
fetch-v1-5-x-diff:
needs: get-all-releases
runs-on: ubuntu-latest
container:
Expand All @@ -84,63 +84,56 @@ jobs:
uses: actions/github-script@v6
with:
script: |
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_4_x }}`;
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_5_x }}`;
core.setOutput('osImage', osImage);
- name: Install docker
run: zypper ref && zypper -n install docker
- name: Install container-diff
run: |
curl -sfL https://github.com/GoogleContainerTools/container-diff/releases/download/v0.17.0/container-diff-linux-amd64 -o /usr/bin/container-diff
chmod +x /usr/bin/container-diff
- name: Pull current v1.4.x os image
uses: nick-fields/retry@v2
with:
timeout_minutes: 1
max_attempts: 10
retry_wait_seconds: 60
command: 'docker pull ${{ steps.set_os_image.outputs.osImage }}'
- name: Run container-diff for v1.4.x
- name: Pull release image
run: |
docker pull ${{ env.OS_IMAGE_v1_4_x }}
echo "Diff ${{ env.OS_IMAGE_v1_4_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_4_x }} --type=rpm --output=diff-result.txt
docker pull ${{ steps.set_os_image.outputs.osImage }}
- name: Run container-diff for v1.5.x
run: |
docker pull ${{ env.OS_IMAGE_v1_5_x }}
echo "Diff ${{ env.OS_IMAGE_v1_5_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_5_x }} --type=rpm --output=diff-result.txt
cat diff-result.txt
fetch-v1-3-x-diff:
fetch-v1-4-x-diff:
needs: get-all-releases
runs-on: ubuntu-latest
container:
image: registry.suse.com/bci/bci-base:15.4
image: registry.suse.com/bci/bci-base:15.5

steps:
- name: Set osImage
id: set_os_image
uses: actions/github-script@v6
with:
script: |
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_3_x }}`;
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_4_x }}`;
core.setOutput('osImage', osImage);
- name: Install docker
run: zypper ref && zypper -n install docker
- name: Install container-diff
run: |
curl -sfL https://github.com/GoogleContainerTools/container-diff/releases/download/v0.17.0/container-diff-linux-amd64 -o /usr/bin/container-diff
chmod +x /usr/bin/container-diff
- name: Pull current v1.3.x os image
uses: nick-fields/retry@v2
with:
timeout_minutes: 1
max_attempts: 10
retry_wait_seconds: 60
command: 'docker pull ${{ steps.set_os_image.outputs.osImage }}'
- name: Run container-diff for v1.3.x
- name: Pull release image
run: |
docker pull ${{ env.OS_IMAGE_v1_3_x }}
echo "Diff ${{ env.OS_IMAGE_v1_3_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_3_x }} --type=rpm --output=diff-result.txt
docker pull ${{ steps.set_os_image.outputs.osImage }}
- name: Run container-diff for v1.4.x
run: |
docker pull ${{ env.OS_IMAGE_v1_4_x }}
echo "Diff ${{ env.OS_IMAGE_v1_4_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_4_x }} --type=rpm --output=diff-result.txt
cat diff-result.txt
fetch-v1-2-x-diff:
fetch-v1-3-x-diff:
needs: get-all-releases
runs-on: ubuntu-latest
container:
Expand All @@ -152,24 +145,20 @@ jobs:
uses: actions/github-script@v6
with:
script: |
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_2_x }}`;
const osImage = `rancher/harvester-os:${{ needs.get-all-releases.outputs.releaseName_v1_3_x }}`;
core.setOutput('osImage', osImage);
- name: Install docker
run: zypper ref && zypper -n install docker
- name: Install container-diff
run: |
curl -sfL https://github.com/GoogleContainerTools/container-diff/releases/download/v0.17.0/container-diff-linux-amd64 -o /usr/bin/container-diff
chmod +x /usr/bin/container-diff
- name: Pull current v1.2.x os image
uses: nick-fields/retry@v2
with:
timeout_minutes: 1
max_attempts: 10
retry_wait_seconds: 60
command: 'docker pull ${{ steps.set_os_image.outputs.osImage }}'
- name: Run container-diff for v1.2.x
- name: Pull release image
run: |
docker pull ${{ env.OS_IMAGE_v1_2_x }}
echo "Diff ${{ env.OS_IMAGE_v1_2_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_2_x }} --type=rpm --output=diff-result.txt
docker pull ${{ steps.set_os_image.outputs.osImage }}
- name: Run container-diff for v1.3.x
run: |
docker pull ${{ env.OS_IMAGE_v1_3_x }}
echo "Diff ${{ env.OS_IMAGE_v1_3_x }} with ${{ steps.set_os_image.outputs.osImage }}..."
container-diff diff daemon://docker.io/${{ steps.set_os_image.outputs.osImage }} daemon://docker.io/${{ env.OS_IMAGE_v1_3_x }} --type=rpm --output=diff-result.txt
cat diff-result.txt

0 comments on commit 9cb8f14

Please sign in to comment.