From 595511295aa373c0833b9f303db891f9132c249d Mon Sep 17 00:00:00 2001 From: Attila Szakacs Date: Mon, 25 Mar 2024 09:44:39 +0100 Subject: [PATCH] test Signed-off-by: Attila Szakacs --- .github/workflows/syslog-ng-snapshot.yml | 204 +++++++++++------------ syslog-ng/alpine.dockerfile | 4 +- 2 files changed, 104 insertions(+), 104 deletions(-) diff --git a/.github/workflows/syslog-ng-snapshot.yml b/.github/workflows/syslog-ng-snapshot.yml index bf471bdd18..a37577de83 100644 --- a/.github/workflows/syslog-ng-snapshot.yml +++ b/.github/workflows/syslog-ng-snapshot.yml @@ -25,84 +25,84 @@ on: - cron: '00 23 * * *' jobs: - tarball: - name: create-source-tarball - runs-on: ubuntu-latest - outputs: - snapshot-version: ${{ steps.snapshot-version.outputs.SNAPSHOT_VERSION }} - steps: - - name: Checkout syslog-ng source - uses: actions/checkout@v4 - with: - repository: ${{ inputs.repo || 'syslog-ng/syslog-ng' }} - ref: ${{ inputs.ref || 'master' }} - fetch-depth: 0 - - - name: Prepare docker image - run: ./dbld/rules cache-image-tarball - - - name: Create source tarball - run: ./dbld/rules pkg-tarball - - - name: Determine snapshot version - id: snapshot-version - run: | - tarball_filename="$(find dbld/build -name '*.tar.*' -printf '%f\n')" - tarball_name="${tarball_filename/\.tar.*}" - tarball_version="${tarball_name/syslog-ng-}" - pkg_version="$(echo $tarball_version | sed -E 's|(([0-9]+\.){2}[0-9]+).*|\1|')_git$(date +%Y%m%d)" - echo "SNAPSHOT_VERSION=${pkg_version}" >> $GITHUB_OUTPUT - - - name: Store source tarball as artifact - uses: actions/upload-artifact@v4 - with: - name: source-tarball - path: dbld/build/*.tar.* - - build-and-test: - runs-on: ubuntu-latest - needs: tarball - steps: - - name: Checkout source - uses: actions/checkout@v4 - - - name: Download source tarball artifact - uses: actions/download-artifact@v4 - with: - name: source-tarball - path: syslog-ng/apkbuild/axoflow/syslog-ng - - - name: Build and export Docker image - uses: docker/build-push-action@v5 - with: - context: syslog-ng - file: syslog-ng/alpine.dockerfile - load: true - tags: syslog-ng:test - build-args: | - PKG_TYPE=nightly - SNAPSHOT_VERSION=${{ needs.tarball.outputs.snapshot-version }} - - - name: Smoke test - run: | - export SYSLOG_NG_IMAGE="syslog-ng:test" - export SYSLOG_NG_VERSION="${{ needs.tarball.outputs.snapshot-version }}" - syslog-ng/tests/smoke.sh - - - publish-image: - if: github.ref == 'refs/heads/main' - uses: ./.github/workflows/syslog-ng-docker.yml - needs: [tarball, build-and-test] - with: - pkg-type: nightly - tarball-artifact: source-tarball - snapshot-version: ${{ needs.tarball.outputs.snapshot-version }} + # tarball: + # name: create-source-tarball + # runs-on: ubuntu-latest + # outputs: + # snapshot-version: ${{ steps.snapshot-version.outputs.SNAPSHOT_VERSION }} + # steps: + # - name: Checkout syslog-ng source + # uses: actions/checkout@v4 + # with: + # repository: ${{ inputs.repo || 'syslog-ng/syslog-ng' }} + # ref: ${{ inputs.ref || 'master' }} + # fetch-depth: 0 + + # - name: Prepare docker image + # run: ./dbld/rules cache-image-tarball + + # - name: Create source tarball + # run: ./dbld/rules pkg-tarball + + # - name: Determine snapshot version + # id: snapshot-version + # run: | + # tarball_filename="$(find dbld/build -name '*.tar.*' -printf '%f\n')" + # tarball_name="${tarball_filename/\.tar.*}" + # tarball_version="${tarball_name/syslog-ng-}" + # pkg_version="$(echo $tarball_version | sed -E 's|(([0-9]+\.){2}[0-9]+).*|\1|')_git$(date +%Y%m%d)" + # echo "SNAPSHOT_VERSION=${pkg_version}" >> $GITHUB_OUTPUT + + # - name: Store source tarball as artifact + # uses: actions/upload-artifact@v4 + # with: + # name: source-tarball + # path: dbld/build/*.tar.* + + # build-and-test: + # runs-on: ubuntu-latest + # needs: tarball + # steps: + # - name: Checkout source + # uses: actions/checkout@v4 + + # - name: Download source tarball artifact + # uses: actions/download-artifact@v4 + # with: + # name: source-tarball + # path: syslog-ng/apkbuild/axoflow/syslog-ng + + # - name: Build and export Docker image + # uses: docker/build-push-action@v5 + # with: + # context: syslog-ng + # file: syslog-ng/alpine.dockerfile + # load: true + # tags: syslog-ng:test + # build-args: | + # PKG_TYPE=nightly + # SNAPSHOT_VERSION=${{ needs.tarball.outputs.snapshot-version }} + + # - name: Smoke test + # run: | + # export SYSLOG_NG_IMAGE="syslog-ng:test" + # export SYSLOG_NG_VERSION="${{ needs.tarball.outputs.snapshot-version }}" + # syslog-ng/tests/smoke.sh + + + # publish-image: + # if: github.ref == 'refs/heads/main' + # uses: ./.github/workflows/syslog-ng-docker.yml + # needs: [tarball, build-and-test] + # with: + # pkg-type: nightly + # tarball-artifact: source-tarball + # snapshot-version: ${{ needs.tarball.outputs.snapshot-version }} # https://github.com/actions/delete-package-versions/issues/90 cleanup-old-images: - if: github.ref == 'refs/heads/main' - needs: publish-image + # if: github.ref == 'refs/heads/main' + # needs: publish-image runs-on: ubuntu-latest steps: - name: Clean up old images @@ -117,7 +117,7 @@ jobs: const image = `${org}/${package_name}` const allPackageVersions = await github.paginate( - github.rest.packages.getAllPackageVersionsForPackageOwnedByOrg, + github.rest.packages.getAllPackageVersionsForPackageOwnedByUser, { package_type: "container", package_name: package_name, org: org } ) @@ -137,35 +137,35 @@ jobs: console.log(`Removing the following images: ${oldSnapshotTags}`) - const manifestsRequests = oldSnapshotTags.map((t) => { - const manifest = fetch(`https://ghcr.io/v2/${image}/manifests/${t}`, { - method: "GET", - headers: { - "Authorization": "Bearer ${{ secrets.GITHUB_TOKEN }}", - "Accept": "application/vnd.docker.distribution.manifest.list.v2+json", - "Accept": "application/vnd.docker.distribution.manifest.v2+json", - "Accept": "application/vnd.oci.image.manifest.v1+json", - "Accept": "application/vnd.oci.image.index.v1+json", - }, - }).then((d) => d.json()) - - return manifest - }) + # const manifestsRequests = oldSnapshotTags.map((t) => { + # const manifest = fetch(`https://ghcr.io/v2/${image}/manifests/${t}`, { + # method: "GET", + # headers: { + # "Authorization": "Bearer ${{ secrets.GITHUB_TOKEN }}", + # "Accept": "application/vnd.docker.distribution.manifest.list.v2+json", + # "Accept": "application/vnd.docker.distribution.manifest.v2+json", + # "Accept": "application/vnd.oci.image.manifest.v1+json", + # "Accept": "application/vnd.oci.image.index.v1+json", + # }, + # }).then((d) => d.json()) + + # return manifest + # }) - const manifestsResponse = await Promise.all(manifestsRequests) + # const manifestsResponse = await Promise.all(manifestsRequests) - const manifestsToDelete = manifestsResponse.filter((m) => m.manifests).flatMap((m) => m.manifests) + # const manifestsToDelete = manifestsResponse.filter((m) => m.manifests).flatMap((m) => m.manifests) - await Promise.all(manifestsToDelete.map((m) => { - const version = allPackageVersions.find((p) => p.name === m.digest) - if (!version) { - return; - } + # await Promise.all(manifestsToDelete.map((m) => { + # const version = allPackageVersions.find((p) => p.name === m.digest) + # if (!version) { + # return; + # } - return github.rest.packages.deletePackageVersionForOrg({ package_type: "container", package_name: package_name, org: org, package_version_id: version.id}) - })) + # return github.rest.packages.deletePackageVersionForOrg({ package_type: "container", package_name: package_name, org: org, package_version_id: version.id}) + # })) - await Promise.all(oldSnapshotVersions.map((v) => { - return github.rest.packages.deletePackageVersionForOrg({ package_type: "container", package_name: package_name, org: org, package_version_id: v.id}) - })) + # await Promise.all(oldSnapshotVersions.map((v) => { + # return github.rest.packages.deletePackageVersionForOrg({ package_type: "container", package_name: package_name, org: org, package_version_id: v.id}) + # })) diff --git a/syslog-ng/alpine.dockerfile b/syslog-ng/alpine.dockerfile index ebb333e433..9c8f971a69 100644 --- a/syslog-ng/alpine.dockerfile +++ b/syslog-ng/alpine.dockerfile @@ -1,6 +1,6 @@ ARG DEBUG=false -FROM alpine:3.19 as apkbuilder +FROM alpine:3.18 as apkbuilder ARG PKG_TYPE=stable ARG SNAPSHOT_VERSION @@ -35,7 +35,7 @@ RUN mkdir packages \ && abuild -r -FROM alpine:3.19 +FROM alpine:3.18 ARG DEBUG