From 56561ee66793bc4837944d5303804fc0340e1f87 Mon Sep 17 00:00:00 2001 From: Trevor Whitney Date: Wed, 14 Feb 2024 07:24:32 -0700 Subject: [PATCH] feat: attempt arm builds again --- .github/jsonnetfile.lock.json | 4 +- .github/release-workflows.jsonnet | 1 + .../loki-release/.github/workflows.jsonnet | 7 ++- .../.github/workflows/release-pr.yml | 10 ++-- .../.github/workflows/release.yml | 20 ++------ .../grafana/loki-release/.husky/pre-commit | 3 +- .../grafana/loki-release/main.jsonnet | 3 +- .../loki-release/workflows/build.libsonnet | 21 ++------- .../loki-release/workflows/common.libsonnet | 5 -- .../loki-release/workflows/validate.libsonnet | 46 +------------------ .github/workflows/minor-release-pr.yml | 8 ++-- .github/workflows/patch-release-pr.yml | 10 ++-- 12 files changed, 31 insertions(+), 107 deletions(-) diff --git a/.github/jsonnetfile.lock.json b/.github/jsonnetfile.lock.json index 71cdee7d611c7..e638f04ea1ce9 100644 --- a/.github/jsonnetfile.lock.json +++ b/.github/jsonnetfile.lock.json @@ -8,8 +8,8 @@ "subdir": "" } }, - "version": "8a1e8bd51ff300716cc13c448235d5d4711f429b", - "sum": "1ElM0v2Zw1lq9LjNFJAQiGBn/3y3MPas+bIfGrpQ2zQ=" + "version": "6582474ca4ca750f4f779863d31a3c4e733082fd", + "sum": "rH3t3Ckc5CFz5+oGHj7dB8d/JtBHVMMXT0RtLsC2Mmo=" } ], "legacyImports": false diff --git a/.github/release-workflows.jsonnet b/.github/release-workflows.jsonnet index 7517050dd4017..4139335d10daa 100644 --- a/.github/release-workflows.jsonnet +++ b/.github/release-workflows.jsonnet @@ -19,6 +19,7 @@ local build = lokiRelease.build; skipValidation=true, versioningStrategy='always-bump-patch', imagePrefix='grafana', + skipArm=false, // TODO: remove temp PR branch branches=['release-[0-9].[0-9].x', 'fix-action-names-in-main'], ), false, false diff --git a/.github/vendor/github.com/grafana/loki-release/.github/workflows.jsonnet b/.github/vendor/github.com/grafana/loki-release/.github/workflows.jsonnet index fb79df8472ff6..54c140d86e1ab 100644 --- a/.github/vendor/github.com/grafana/loki-release/.github/workflows.jsonnet +++ b/.github/vendor/github.com/grafana/loki-release/.github/workflows.jsonnet @@ -7,7 +7,7 @@ local build = lokiRelease.build; loki: build.image('fake-loki', 'cmd/loki'), }, branches=['release-[0-9].[0-9].x'], - imagePrefix='trevorwhitney075', + imagePrefix='grafana', releaseRepo='grafana/loki-release', skipValidation=false, versioningStrategy='always-bump-patch', @@ -16,9 +16,8 @@ local build = lokiRelease.build; 'release.yml': std.manifestYamlDoc( lokiRelease.releaseWorkflow( branches=['release-[0-9].[0-9].x'], - dockerUsername='trevorwhitney075', - getDockerCredsFromVault=false, - imagePrefix='trevorwhitney075', + getDockerCredsFromVault=true, + imagePrefix='grafana', releaseRepo='grafana/loki-release', ), false, false ), diff --git a/.github/vendor/github.com/grafana/loki-release/.github/workflows/release-pr.yml b/.github/vendor/github.com/grafana/loki-release/.github/workflows/release-pr.yml index bb1a2c9bb4b35..e7aa5127a9369 100644 --- a/.github/vendor/github.com/grafana/loki-release/.github/workflows/release-pr.yml +++ b/.github/vendor/github.com/grafana/loki-release/.github/workflows/release-pr.yml @@ -2,7 +2,7 @@ concurrency: group: "create-release-pr-${{ github.sha }}" env: DOCKER_USERNAME: "grafana" - IMAGE_PREFIX: "trevorwhitney075" + IMAGE_PREFIX: "grafana" RELEASE_REPO: "grafana/loki-release" SKIP_VALIDATION: false VERSIONING_STRATEGY: "always-bump-patch" @@ -22,7 +22,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -150,7 +150,7 @@ jobs: IMAGE_TAG: "${{ needs.version.outputs.version }}" SKIP_ARM: true name: "build artifacts" - run: "make SKIP_ARM=true dist" + run: "make dist" shell: "bash" working-directory: "release" - name: "upload build artifacts" @@ -174,7 +174,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -285,7 +285,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils diff --git a/.github/vendor/github.com/grafana/loki-release/.github/workflows/release.yml b/.github/vendor/github.com/grafana/loki-release/.github/workflows/release.yml index b557d4bf78f66..5034e8a2f45a0 100644 --- a/.github/vendor/github.com/grafana/loki-release/.github/workflows/release.yml +++ b/.github/vendor/github.com/grafana/loki-release/.github/workflows/release.yml @@ -1,8 +1,7 @@ concurrency: group: "create-release-${{ github.sha }}" env: - DOCKER_USERNAME: "trevorwhitney075" - IMAGE_PREFIX: "trevorwhitney075" + IMAGE_PREFIX: "grafana" RELEASE_REPO: "grafana/loki-release" jobs: createRelease: @@ -84,21 +83,8 @@ jobs: uses: "docker/setup-qemu-action@v3" - name: "set up docker buildx" uses: "docker/setup-buildx-action@v3" - - name: "Login to DockerHub (from secrets)" - uses: "docker/login-action@v3" - with: - password: "${{ secrets.DOCKER_PASSWORD }}" - username: "${{ env.DOCKER_USERNAME }}" - - name: "download images" - run: | - echo "downloading images to $(pwd)/images" - gsutil cp -r gs://loki-build-artifacts/${{ needs.createRelease.outputs.sha }}/images . - shell: "bash" - - name: "publish docker images" - uses: "./lib/actions/push-images" - with: - imageDir: "images" - imagePrefix: "${{ env.IMAGE_PREFIX }}" + - name: "Login to DockerHub (from vault)" + uses: "grafana/shared-workflows/actions/dockerhub-login@main" shouldRelease: outputs: branch: "${{ steps.extract_branch.outputs.branch }}" diff --git a/.github/vendor/github.com/grafana/loki-release/.husky/pre-commit b/.github/vendor/github.com/grafana/loki-release/.husky/pre-commit index 8fbd93180c0bd..03ecb87104ba6 100755 --- a/.github/vendor/github.com/grafana/loki-release/.husky/pre-commit +++ b/.github/vendor/github.com/grafana/loki-release/.husky/pre-commit @@ -5,7 +5,8 @@ npx lint-staged workflow_files_count="$(git diff --name-only --cached workflows/*.{libsonnet,jsonnet} | wc -l)" other_jsonnet_count="$(git diff --name-only --cached *.{libsonnet,jsonnet} | wc -l)" -if [[ "${workflow_files_count}" -gt 0 ]] || [[ "${other_jsonnet_count}" -gt 0 ]]; then +github_jsonnet_count="$(git diff --name-only --cached .github/*.{libsonnet,jsonnet} | wc -l)" +if [[ "${workflow_files_count}" -gt 0 ]] || [[ "${other_jsonnet_count}" -gt 0 ]] || [[ "${github_jsonnet_count}" -gt 0 ]]; then npm run workflows git add .github/workflows fi diff --git a/.github/vendor/github.com/grafana/loki-release/main.jsonnet b/.github/vendor/github.com/grafana/loki-release/main.jsonnet index 51f989b9fc729..a9398986d80a9 100644 --- a/.github/vendor/github.com/grafana/loki-release/main.jsonnet +++ b/.github/vendor/github.com/grafana/loki-release/main.jsonnet @@ -11,6 +11,7 @@ imagePrefix='grafana', releaseRepo='grafana/loki-release', skipValidation=false, + skipArm=true, versioningStrategy='always-bump-patch', ) { name: 'create release PR', @@ -36,7 +37,7 @@ local validationSteps = ['test', 'lint', 'check'], jobs: $.validate(buildImage) { version: $.build.version + $.common.job.withNeeds(validationSteps), - dist: $.build.dist(buildImage) + $.common.job.withNeeds(['version']), + dist: $.build.dist(buildImage, skipArm) + $.common.job.withNeeds(['version']), } + std.mapWithKey(function(name, job) job + $.common.job.withNeeds(['version']), imageJobs) + { local buildImageSteps = ['dist'] + std.objectFields(imageJobs), 'create-release-pr': $.release.createReleasePR + $.common.job.withNeeds(buildImageSteps), diff --git a/.github/vendor/github.com/grafana/loki-release/workflows/build.libsonnet b/.github/vendor/github.com/grafana/loki-release/workflows/build.libsonnet index 88082c4d6e87d..3f1d20a26520f 100644 --- a/.github/vendor/github.com/grafana/loki-release/workflows/build.libsonnet +++ b/.github/vendor/github.com/grafana/loki-release/workflows/build.libsonnet @@ -25,7 +25,6 @@ local releaseLibStep = common.releaseLibStep; + job.withSteps([ common.fetchReleaseLib, common.fetchReleaseRepo, - // common.setupGo, common.setupNode, common.googleAuth, @@ -102,7 +101,7 @@ local releaseLibStep = common.releaseLibStep; pr_created: '${{ steps.version.outputs.pr_created }}', }), - dist: function(buildImage) + dist: function(buildImage, skipArm=true) job.new() + job.withContainer({ image: buildImage, @@ -111,27 +110,13 @@ local releaseLibStep = common.releaseLibStep; common.fetchReleaseRepo, common.googleAuth, - // step.new('install dependencies') + - // step.withRun(||| - // go install github.com/mitchellh/gox@9f71238 - // go install github.com/bufbuild/buf/cmd/buf@v1.4.0 - // go install github.com/golang/protobuf/protoc-gen-go@v1.3.1 - // go install github.com/gogo/protobuf/protoc-gen-gogoslick@v1.3.0 - - // sudo apt update - // sudo apt install -qy musl gnupg ragel \ - // file zip unzip jq gettext \ - // protobuf-compiler libprotobuf-dev \ - // libsystemd-dev jq - // |||), - releaseStep('build artifacts') + step.withEnv({ BUILD_IN_CONTAINER: false, - SKIP_ARM: true, + SKIP_ARM: skipArm, IMAGE_TAG: '${{ needs.version.outputs.version }}', }) - + step.withRun('make SKIP_ARM=true dist'), + + step.withRun('make dist'), step.new('upload build artifacts', 'google-github-actions/upload-cloud-storage@v2') + step.with({ diff --git a/.github/vendor/github.com/grafana/loki-release/workflows/common.libsonnet b/.github/vendor/github.com/grafana/loki-release/workflows/common.libsonnet index eefbf9fd33e05..0b43c37c37f4a 100644 --- a/.github/vendor/github.com/grafana/loki-release/workflows/common.libsonnet +++ b/.github/vendor/github.com/grafana/loki-release/workflows/common.libsonnet @@ -70,11 +70,6 @@ repository: 'grafana/loki-release', path: 'lib', }), - // setupGo: $.step.new('setup go', 'actions/setup-go@v5') - // + $.step.with({ - // 'go-version-file': 'release/go.mod', - // 'cache-dependency-path': 'release/go.sum', - // }), setupNode: $.step.new('setup node', 'actions/setup-node@v4') + $.step.with({ diff --git a/.github/vendor/github.com/grafana/loki-release/workflows/validate.libsonnet b/.github/vendor/github.com/grafana/loki-release/workflows/validate.libsonnet index 8f3f2506f6c67..8ee5e4372c2b9 100644 --- a/.github/vendor/github.com/grafana/loki-release/workflows/validate.libsonnet +++ b/.github/vendor/github.com/grafana/loki-release/workflows/validate.libsonnet @@ -7,35 +7,7 @@ local setupValidationDeps = function(job) job { steps: [ common.fetchReleaseRepo, common.fetchReleaseLib, - // common.setupGo, - // common.setupNode, - // step.new('install dependencies') + - // step.withRun(||| - // go install github.com/bufbuild/buf/cmd/buf@v1.4.0 - // go install github.com/golang/protobuf/protoc-gen-go@v1.3.1 - // go install github.com/gogo/protobuf/protoc-gen-gogoslick@v1.3.0 - // go install github.com/fatih/faillint@v1.11.0 - // go install golang.org/x/tools/cmd/goimports@v0.7.0 - // go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@v0.4.0 - // go install github.com/monitoring-mixins/mixtool/cmd/mixtool@bca3066 - // go install github.com/google/go-jsonnet/cmd/jsonnet@v0.18.0 - // go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v0.18.0 - - // sudo apt update - // sudo apt install -qy musl gnupg ragel \ - // file zip unzip jq gettext \ - // protobuf-compiler libprotobuf-dev \ - // libsystemd-dev jq - // |||), - // step.new('install golangci-lint', './lib/actions/install-binary') - // + step.with({ - // binary: 'golangci-lint', - // version: '1.55.1', - // download_url: 'https://github.com/golangci/golangci-lint/releases/download/v${version}/golangci-lint-${version}-linux-amd64.tar.gz', - // tarball_binary_path: '*/${binary}', - // smoke_test: '${binary} version', - // }), - step.new('install dependencies') + + step.new('install tar') + step.withRun(||| apt update apt install -qy tar xz-utils @@ -49,22 +21,6 @@ local setupValidationDeps = function(job) job { smoke_test: '${binary} --version', tar_args: 'xvf', }), - // step.new('install helm', './lib/actions/install-binary') - // + step.with({ - // binary: 'helm', - // version: '3.2.3', - // download_url: 'https://get.helm.sh/helm-v${version}-linux-amd64.tar.gz', - // tarball_binary_path: '*/${binary}', - // smoke_test: '${binary} version', - // }), - // step.new('install helm-docs', './lib/actions/install-binary') - // + step.with({ - // binary: 'helm-docs', - // version: '1.11.2', - // download_url: 'https://github.com/norwoodj/helm-docs/releases/download/v${version}/helm-docs_Linux_x86_64.tar.gz', - // tarball_binary_path: '${binary}', - // smoke_test: '${binary} --version', - // }), step.new('install jsonnetfmt', './lib/actions/install-binary') + step.with({ binary: 'jsonnetfmt', diff --git a/.github/workflows/minor-release-pr.yml b/.github/workflows/minor-release-pr.yml index 018ca224e5065..a67fb1dfc41e9 100644 --- a/.github/workflows/minor-release-pr.yml +++ b/.github/workflows/minor-release-pr.yml @@ -22,7 +22,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -159,7 +159,7 @@ jobs: IMAGE_TAG: "${{ needs.version.outputs.version }}" SKIP_ARM: true name: "build artifacts" - run: "make SKIP_ARM=true dist" + run: "make dist" shell: "bash" working-directory: "release" - name: "upload build artifacts" @@ -299,7 +299,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -824,7 +824,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils diff --git a/.github/workflows/patch-release-pr.yml b/.github/workflows/patch-release-pr.yml index 87107bab282db..51e4a9d4dae4b 100644 --- a/.github/workflows/patch-release-pr.yml +++ b/.github/workflows/patch-release-pr.yml @@ -22,7 +22,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -157,9 +157,9 @@ jobs: - env: BUILD_IN_CONTAINER: false IMAGE_TAG: "${{ needs.version.outputs.version }}" - SKIP_ARM: true + SKIP_ARM: false name: "build artifacts" - run: "make SKIP_ARM=true dist" + run: "make dist" shell: "bash" working-directory: "release" - name: "upload build artifacts" @@ -299,7 +299,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils @@ -824,7 +824,7 @@ jobs: with: path: "lib" repository: "grafana/loki-release" - - name: "install dependencies" + - name: "install tar" run: | apt update apt install -qy tar xz-utils