From 3a6b7cddd094d2172d351c26ec81701422388b18 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 7 Mar 2025 16:16:08 +0000 Subject: [PATCH 01/16] chore(dogfood): move dogfood template contents to subdir --- .github/dependabot.yaml | 3 +- .github/workflows/ci.yaml | 2 +- .github/workflows/dogfood.yaml | 6 +-- .github/workflows/security.yaml | 2 +- Makefile | 6 +-- dogfood/{ => coder}/contents/Dockerfile | 0 dogfood/{ => coder}/contents/Makefile | 0 dogfood/{ => coder}/contents/README.md | 0 .../{ => coder}/contents/devcontainer.json | 0 .../files/etc/apt/apt.conf.d/80-no-recommends | 0 .../files/etc/apt/apt.conf.d/80-retries | 0 .../files/etc/apt/preferences.d/containerd | 0 .../files/etc/apt/preferences.d/docker | 0 .../files/etc/apt/preferences.d/github-cli | 0 .../files/etc/apt/preferences.d/google-cloud | 0 .../files/etc/apt/preferences.d/hashicorp | 0 .../contents/files/etc/apt/preferences.d/ppa | 0 .../files/etc/apt/sources.list.d/docker.list | 0 .../etc/apt/sources.list.d/google-cloud.list | 0 .../etc/apt/sources.list.d/hashicorp.list | 0 .../etc/apt/sources.list.d/postgresql.list | 0 .../files/etc/apt/sources.list.d/ppa.list | 0 .../contents/files/etc/docker/daemon.json | 0 .../files/usr/share/keyrings/ansible.gpg | Bin .../files/usr/share/keyrings/docker.gpg | Bin .../files/usr/share/keyrings/fish-shell.gpg | Bin .../files/usr/share/keyrings/git-core.gpg | Bin .../files/usr/share/keyrings/github-cli.gpg | Bin .../files/usr/share/keyrings/google-cloud.gpg | Bin .../files/usr/share/keyrings/hashicorp.gpg | Bin .../files/usr/share/keyrings/helix.gpg | Bin .../files/usr/share/keyrings/neovim.gpg | Bin .../files/usr/share/keyrings/postgresql.gpg | Bin dogfood/{ => coder}/contents/guide.md | 0 dogfood/{ => coder}/contents/main.tf | 0 dogfood/{ => coder}/contents/nix.hash | 0 dogfood/{ => coder}/contents/update-keys.sh | 2 +- dogfood/{ => coder}/contents/zed/main.tf | 0 dogfood/{ => coder}/main.tf | 41 ++++++++++++++++++ scripts/update-flake.sh | 2 +- 40 files changed, 53 insertions(+), 11 deletions(-) rename dogfood/{ => coder}/contents/Dockerfile (100%) rename dogfood/{ => coder}/contents/Makefile (100%) rename dogfood/{ => coder}/contents/README.md (100%) rename dogfood/{ => coder}/contents/devcontainer.json (100%) rename dogfood/{ => coder}/contents/files/etc/apt/apt.conf.d/80-no-recommends (100%) rename dogfood/{ => coder}/contents/files/etc/apt/apt.conf.d/80-retries (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/containerd (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/docker (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/github-cli (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/google-cloud (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/hashicorp (100%) rename dogfood/{ => coder}/contents/files/etc/apt/preferences.d/ppa (100%) rename dogfood/{ => coder}/contents/files/etc/apt/sources.list.d/docker.list (100%) rename dogfood/{ => coder}/contents/files/etc/apt/sources.list.d/google-cloud.list (100%) rename dogfood/{ => coder}/contents/files/etc/apt/sources.list.d/hashicorp.list (100%) rename dogfood/{ => coder}/contents/files/etc/apt/sources.list.d/postgresql.list (100%) rename dogfood/{ => coder}/contents/files/etc/apt/sources.list.d/ppa.list (100%) rename dogfood/{ => coder}/contents/files/etc/docker/daemon.json (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/ansible.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/docker.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/fish-shell.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/git-core.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/github-cli.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/google-cloud.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/hashicorp.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/helix.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/neovim.gpg (100%) rename dogfood/{ => coder}/contents/files/usr/share/keyrings/postgresql.gpg (100%) rename dogfood/{ => coder}/contents/guide.md (100%) rename dogfood/{ => coder}/contents/main.tf (100%) rename dogfood/{ => coder}/contents/nix.hash (100%) rename dogfood/{ => coder}/contents/update-keys.sh (97%) rename dogfood/{ => coder}/contents/zed/main.tf (100%) rename dogfood/{ => coder}/main.tf (57%) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index f9c5410df0ce2..bece459e701e7 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -37,7 +37,8 @@ updates: # Update our Dockerfile. - package-ecosystem: "docker" directories: - - "/dogfood/contents" + - "/dogfood/coder/contents" + - "/dogfood/coder-envbuilder/contents" - "/scripts" - "/examples/templates/docker/build" - "/examples/parameters/build" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e663cc2303986..d20ea4e947ab8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -172,7 +172,7 @@ jobs: - name: Get golangci-lint cache dir run: | - linter_ver=$(egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/contents/Dockerfile | cut -d '=' -f 2) + linter_ver=$(egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/contents/Dockerfile | cut -d '=' -f 2) go install github.com/golangci/golangci-lint/cmd/golangci-lint@v$linter_ver dir=$(golangci-lint cache status | awk '/Dir/ { print $2 }') echo "LINT_CACHE_DIR=$dir" >> $GITHUB_ENV diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index c6b1ce99ebf14..7dcaedfd6905e 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -68,7 +68,7 @@ jobs: project: b4q6ltmpzh token: ${{ secrets.DEPOT_TOKEN }} buildx-fallback: true - context: "{{defaultContext}}:dogfood/contents" + context: "{{defaultContext}}:dogfood/coder/contents" pull: true save: true push: ${{ github.ref == 'refs/heads/main' }} @@ -113,7 +113,7 @@ jobs: - name: Terraform init and validate run: | - cd dogfood + cd dogfood/coder terraform init -upgrade terraform validate cd contents @@ -133,7 +133,7 @@ jobs: - name: "Push template" if: github.ref == 'refs/heads/main' run: | - cd dogfood + cd dogfood/coder terraform apply -auto-approve env: # Consumed by coderd provider diff --git a/.github/workflows/security.yaml b/.github/workflows/security.yaml index 7bbabc6572685..1e42241383f87 100644 --- a/.github/workflows/security.yaml +++ b/.github/workflows/security.yaml @@ -99,7 +99,7 @@ jobs: # version in the comments will differ. This is also defined in # ci.yaml. set -euxo pipefail - cd dogfood/contents + cd dogfood/coder/contents mkdir -p /usr/local/bin mkdir -p /usr/local/include diff --git a/Makefile b/Makefile index fbd324974f218..b0eb93793ae73 100644 --- a/Makefile +++ b/Makefile @@ -505,7 +505,7 @@ lint/ts: site/node_modules/.installed lint/go: ./scripts/check_enterprise_imports.sh ./scripts/check_codersdk_imports.sh - linter_ver=$(shell egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/contents/Dockerfile | cut -d '=' -f 2) + linter_ver=$(shell egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/contents/Dockerfile | cut -d '=' -f 2) go run github.com/golangci/golangci-lint/cmd/golangci-lint@v$$linter_ver run .PHONY: lint/go @@ -963,5 +963,5 @@ else endif .PHONY: test-e2e -dogfood/contents/nix.hash: flake.nix flake.lock - sha256sum flake.nix flake.lock >./dogfood/contents/nix.hash +dogfood/coder/contents/nix.hash: flake.nix flake.lock + sha256sum flake.nix flake.lock >./dogfood/coder/contents/nix.hash diff --git a/dogfood/contents/Dockerfile b/dogfood/coder/contents/Dockerfile similarity index 100% rename from dogfood/contents/Dockerfile rename to dogfood/coder/contents/Dockerfile diff --git a/dogfood/contents/Makefile b/dogfood/coder/contents/Makefile similarity index 100% rename from dogfood/contents/Makefile rename to dogfood/coder/contents/Makefile diff --git a/dogfood/contents/README.md b/dogfood/coder/contents/README.md similarity index 100% rename from dogfood/contents/README.md rename to dogfood/coder/contents/README.md diff --git a/dogfood/contents/devcontainer.json b/dogfood/coder/contents/devcontainer.json similarity index 100% rename from dogfood/contents/devcontainer.json rename to dogfood/coder/contents/devcontainer.json diff --git a/dogfood/contents/files/etc/apt/apt.conf.d/80-no-recommends b/dogfood/coder/contents/files/etc/apt/apt.conf.d/80-no-recommends similarity index 100% rename from dogfood/contents/files/etc/apt/apt.conf.d/80-no-recommends rename to dogfood/coder/contents/files/etc/apt/apt.conf.d/80-no-recommends diff --git a/dogfood/contents/files/etc/apt/apt.conf.d/80-retries b/dogfood/coder/contents/files/etc/apt/apt.conf.d/80-retries similarity index 100% rename from dogfood/contents/files/etc/apt/apt.conf.d/80-retries rename to dogfood/coder/contents/files/etc/apt/apt.conf.d/80-retries diff --git a/dogfood/contents/files/etc/apt/preferences.d/containerd b/dogfood/coder/contents/files/etc/apt/preferences.d/containerd similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/containerd rename to dogfood/coder/contents/files/etc/apt/preferences.d/containerd diff --git a/dogfood/contents/files/etc/apt/preferences.d/docker b/dogfood/coder/contents/files/etc/apt/preferences.d/docker similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/docker rename to dogfood/coder/contents/files/etc/apt/preferences.d/docker diff --git a/dogfood/contents/files/etc/apt/preferences.d/github-cli b/dogfood/coder/contents/files/etc/apt/preferences.d/github-cli similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/github-cli rename to dogfood/coder/contents/files/etc/apt/preferences.d/github-cli diff --git a/dogfood/contents/files/etc/apt/preferences.d/google-cloud b/dogfood/coder/contents/files/etc/apt/preferences.d/google-cloud similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/google-cloud rename to dogfood/coder/contents/files/etc/apt/preferences.d/google-cloud diff --git a/dogfood/contents/files/etc/apt/preferences.d/hashicorp b/dogfood/coder/contents/files/etc/apt/preferences.d/hashicorp similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/hashicorp rename to dogfood/coder/contents/files/etc/apt/preferences.d/hashicorp diff --git a/dogfood/contents/files/etc/apt/preferences.d/ppa b/dogfood/coder/contents/files/etc/apt/preferences.d/ppa similarity index 100% rename from dogfood/contents/files/etc/apt/preferences.d/ppa rename to dogfood/coder/contents/files/etc/apt/preferences.d/ppa diff --git a/dogfood/contents/files/etc/apt/sources.list.d/docker.list b/dogfood/coder/contents/files/etc/apt/sources.list.d/docker.list similarity index 100% rename from dogfood/contents/files/etc/apt/sources.list.d/docker.list rename to dogfood/coder/contents/files/etc/apt/sources.list.d/docker.list diff --git a/dogfood/contents/files/etc/apt/sources.list.d/google-cloud.list b/dogfood/coder/contents/files/etc/apt/sources.list.d/google-cloud.list similarity index 100% rename from dogfood/contents/files/etc/apt/sources.list.d/google-cloud.list rename to dogfood/coder/contents/files/etc/apt/sources.list.d/google-cloud.list diff --git a/dogfood/contents/files/etc/apt/sources.list.d/hashicorp.list b/dogfood/coder/contents/files/etc/apt/sources.list.d/hashicorp.list similarity index 100% rename from dogfood/contents/files/etc/apt/sources.list.d/hashicorp.list rename to dogfood/coder/contents/files/etc/apt/sources.list.d/hashicorp.list diff --git a/dogfood/contents/files/etc/apt/sources.list.d/postgresql.list b/dogfood/coder/contents/files/etc/apt/sources.list.d/postgresql.list similarity index 100% rename from dogfood/contents/files/etc/apt/sources.list.d/postgresql.list rename to dogfood/coder/contents/files/etc/apt/sources.list.d/postgresql.list diff --git a/dogfood/contents/files/etc/apt/sources.list.d/ppa.list b/dogfood/coder/contents/files/etc/apt/sources.list.d/ppa.list similarity index 100% rename from dogfood/contents/files/etc/apt/sources.list.d/ppa.list rename to dogfood/coder/contents/files/etc/apt/sources.list.d/ppa.list diff --git a/dogfood/contents/files/etc/docker/daemon.json b/dogfood/coder/contents/files/etc/docker/daemon.json similarity index 100% rename from dogfood/contents/files/etc/docker/daemon.json rename to dogfood/coder/contents/files/etc/docker/daemon.json diff --git a/dogfood/contents/files/usr/share/keyrings/ansible.gpg b/dogfood/coder/contents/files/usr/share/keyrings/ansible.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/ansible.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/ansible.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/docker.gpg b/dogfood/coder/contents/files/usr/share/keyrings/docker.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/docker.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/docker.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/fish-shell.gpg b/dogfood/coder/contents/files/usr/share/keyrings/fish-shell.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/fish-shell.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/fish-shell.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/git-core.gpg b/dogfood/coder/contents/files/usr/share/keyrings/git-core.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/git-core.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/git-core.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/github-cli.gpg b/dogfood/coder/contents/files/usr/share/keyrings/github-cli.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/github-cli.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/github-cli.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/google-cloud.gpg b/dogfood/coder/contents/files/usr/share/keyrings/google-cloud.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/google-cloud.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/google-cloud.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/hashicorp.gpg b/dogfood/coder/contents/files/usr/share/keyrings/hashicorp.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/hashicorp.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/hashicorp.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/helix.gpg b/dogfood/coder/contents/files/usr/share/keyrings/helix.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/helix.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/helix.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/neovim.gpg b/dogfood/coder/contents/files/usr/share/keyrings/neovim.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/neovim.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/neovim.gpg diff --git a/dogfood/contents/files/usr/share/keyrings/postgresql.gpg b/dogfood/coder/contents/files/usr/share/keyrings/postgresql.gpg similarity index 100% rename from dogfood/contents/files/usr/share/keyrings/postgresql.gpg rename to dogfood/coder/contents/files/usr/share/keyrings/postgresql.gpg diff --git a/dogfood/contents/guide.md b/dogfood/coder/contents/guide.md similarity index 100% rename from dogfood/contents/guide.md rename to dogfood/coder/contents/guide.md diff --git a/dogfood/contents/main.tf b/dogfood/coder/contents/main.tf similarity index 100% rename from dogfood/contents/main.tf rename to dogfood/coder/contents/main.tf diff --git a/dogfood/contents/nix.hash b/dogfood/coder/contents/nix.hash similarity index 100% rename from dogfood/contents/nix.hash rename to dogfood/coder/contents/nix.hash diff --git a/dogfood/contents/update-keys.sh b/dogfood/coder/contents/update-keys.sh similarity index 97% rename from dogfood/contents/update-keys.sh rename to dogfood/coder/contents/update-keys.sh index 1b57d015bff1d..ff2495bae70b0 100755 --- a/dogfood/contents/update-keys.sh +++ b/dogfood/coder/contents/update-keys.sh @@ -15,7 +15,7 @@ gpg_flags=( --yes ) -pushd "$PROJECT_ROOT/dogfood/contents/files/usr/share/keyrings" +pushd "$PROJECT_ROOT/dogfood/coder/contents/files/usr/share/keyrings" # Ansible PPA signing key curl "${curl_flags[@]}" "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6125e2a8c77f2818fb7bd15b93c4a3fd7bb9c367" | diff --git a/dogfood/contents/zed/main.tf b/dogfood/coder/contents/zed/main.tf similarity index 100% rename from dogfood/contents/zed/main.tf rename to dogfood/coder/contents/zed/main.tf diff --git a/dogfood/main.tf b/dogfood/coder/main.tf similarity index 57% rename from dogfood/main.tf rename to dogfood/coder/main.tf index 309e5f5d3d1d4..0741af5fff17a 100644 --- a/dogfood/main.tf +++ b/dogfood/coder/main.tf @@ -73,3 +73,44 @@ resource "coderd_template" "dogfood" { time_til_dormant_autodelete_ms = 7776000000 time_til_dormant_ms = 8640000000 } + +resource "coderd_template" "dogfood" { + name = var.CODER_TEMPLATE_NAME + display_name = "Write Coder on Coder" + description = "The template to use when developing Coder on Coder!" + icon = "/emojis/1f3c5.png" + organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" + versions = [ + { + name = var.CODER_TEMPLATE_VERSION + message = var.CODER_TEMPLATE_MESSAGE + directory = var.CODER_TEMPLATE_DIR + active = true + } + ] + acl = { + groups = [{ + id = data.coderd_organization.default.id + role = "use" + }] + users = [{ + id = data.coderd_user.machine.id + role = "admin" + }] + } + activity_bump_ms = 10800000 + allow_user_auto_start = true + allow_user_auto_stop = true + allow_user_cancel_workspace_jobs = false + auto_start_permitted_days_of_week = ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"] + auto_stop_requirement = { + days_of_week = ["sunday"] + weeks = 1 + } + default_ttl_ms = 28800000 + deprecation_message = null + failure_ttl_ms = 604800000 + require_active_version = true + time_til_dormant_autodelete_ms = 7776000000 + time_til_dormant_ms = 8640000000 +} diff --git a/scripts/update-flake.sh b/scripts/update-flake.sh index c951109e6c26b..26d2a60868709 100755 --- a/scripts/update-flake.sh +++ b/scripts/update-flake.sh @@ -37,6 +37,6 @@ echo "protoc-gen-go version: $PROTOC_GEN_GO_REV" PROTOC_GEN_GO_SHA256=$(nix-prefetch-git https://github.com/protocolbuffers/protobuf-go --rev "$PROTOC_GEN_GO_REV" | jq -r .hash) sed -i "s#\(sha256 = \"\)[^\"]*#\1${PROTOC_GEN_GO_SHA256}#" ./flake.nix -make dogfood/contents/nix.hash +make dogfood/coder/contents/nix.hash echo "Flake updated successfully!" From a2733a1f252741057b57aa19c56892a22b75a780 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 7 Mar 2025 16:23:03 +0000 Subject: [PATCH 02/16] chore(dogfood): move coder-envbuilder template under VCS control --- .github/workflows/dogfood.yaml | 55 ++++++++++++++ .../coder-envbuilder/contents}/README.md | 0 .../coder-envbuilder/contents}/main.tf | 0 dogfood/coder-envbuilder/main.tf | 76 +++++++++++++++++++ 4 files changed, 131 insertions(+) rename {envbuilder-dogfood => dogfood/coder-envbuilder/contents}/README.md (100%) rename {envbuilder-dogfood => dogfood/coder-envbuilder/contents}/main.tf (100%) create mode 100644 dogfood/coder-envbuilder/main.tf diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 7dcaedfd6905e..66557fd9d86f4 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -145,3 +145,58 @@ jobs: TF_VAR_CODER_TEMPLATE_DIR: ./contents TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} TF_LOG: info + + deploy_template_envbuilder: + needs: build_image + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 + with: + egress-policy: audit + + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Setup Terraform + uses: ./.github/actions/setup-tf + + - name: Authenticate to Google Cloud + uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 # v2.1.8 + with: + workload_identity_provider: projects/573722524737/locations/global/workloadIdentityPools/github/providers/github + service_account: coder-ci@coder-dogfood.iam.gserviceaccount.com + + - name: Terraform init and validate + run: | + cd dogfood/coder-envbuilder + terraform init -upgrade + terraform validate + cd contents + terraform init -upgrade + terraform validate + + - name: Get short commit SHA + if: github.ref == 'refs/heads/main' + id: vars + run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + + - name: Get latest commit title + if: github.ref == 'refs/heads/main' + id: message + run: echo "pr_title=$(git log --format=%s -n 1 ${{ github.sha }})" >> $GITHUB_OUTPUT + + - name: "Push template" + if: github.ref == 'refs/heads/main' + run: | + cd dogfood/coder-envbuilder + terraform apply -auto-approve + env: + # Consumed by coderd provider + CODER_URL: https://dev.coder.com + CODER_SESSION_TOKEN: ${{ secrets.CODER_SESSION_TOKEN }} + # Template source & details + TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} + TF_VAR_CODER_TEMPLATE_DIR: ./contents + TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} + TF_LOG: info diff --git a/envbuilder-dogfood/README.md b/dogfood/coder-envbuilder/contents/README.md similarity index 100% rename from envbuilder-dogfood/README.md rename to dogfood/coder-envbuilder/contents/README.md diff --git a/envbuilder-dogfood/main.tf b/dogfood/coder-envbuilder/contents/main.tf similarity index 100% rename from envbuilder-dogfood/main.tf rename to dogfood/coder-envbuilder/contents/main.tf diff --git a/dogfood/coder-envbuilder/main.tf b/dogfood/coder-envbuilder/main.tf new file mode 100644 index 0000000000000..56ef12549b26f --- /dev/null +++ b/dogfood/coder-envbuilder/main.tf @@ -0,0 +1,76 @@ +terraform { + required_providers { + coderd = { + source = "coder/coderd" + } + } + backend "gcs" { + bucket = "coder-dogfood-tf-state" + prefix = "/templates/coder-envbuilder" + } +} + +data "coderd_organization" "default" { + is_default = true +} + +data "coderd_user" "machine" { + username = "machine" +} + +variable "CODER_TEMPLATE_VERSION" { + type = string +} + +variable "CODER_TEMPLATE_DIR" { + type = string +} + +variable "CODER_TEMPLATE_MESSAGE" { + type = string +} + +resource "coderd_template" "dogfood" { + name = "coder-envbuilder" + display_name = "Write Coder on Coder using Envbuilder" + description = "Write Coder on Coder using a workspace built by Envbuilder." + icon = "/emojis/1f3d7.png" # 🏗️ + organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" + versions = [ + { + name = var.CODER_TEMPLATE_VERSION + message = var.CODER_TEMPLATE_MESSAGE + directory = var.CODER_TEMPLATE_DIR + active = true + tf_vars = [{ + # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 + "envbuilder_cache_dockerconfigjson_path" = "/home/coder/envbuilder-cache-dockerconfig.json" + }] + } + ] + acl = { + groups = [{ + id = data.coderd_organization.default.id + role = "use" + }] + users = [{ + id = data.coderd_user.machine.id + role = "admin" + }] + } + activity_bump_ms = 10800000 + allow_user_auto_start = true + allow_user_auto_stop = true + allow_user_cancel_workspace_jobs = false + auto_start_permitted_days_of_week = ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"] + auto_stop_requirement = { + days_of_week = ["sunday"] + weeks = 1 + } + default_ttl_ms = 28800000 + deprecation_message = null + failure_ttl_ms = 604800000 + require_active_version = true + time_til_dormant_autodelete_ms = 7776000000 + time_til_dormant_ms = 8640000000 +} From 9b50f9db16578a2a4ca61d36da91cdf5efcc1ac6 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 7 Mar 2025 16:50:11 +0000 Subject: [PATCH 03/16] fixup! chore(dogfood): move coder-envbuilder template under VCS control --- dogfood/coder-envbuilder/main.tf | 13 ++++++---- dogfood/coder/main.tf | 41 -------------------------------- 2 files changed, 8 insertions(+), 46 deletions(-) diff --git a/dogfood/coder-envbuilder/main.tf b/dogfood/coder-envbuilder/main.tf index 56ef12549b26f..c25ebb76ece38 100644 --- a/dogfood/coder-envbuilder/main.tf +++ b/dogfood/coder-envbuilder/main.tf @@ -30,7 +30,7 @@ variable "CODER_TEMPLATE_MESSAGE" { type = string } -resource "coderd_template" "dogfood" { +resource "coderd_template" "coder-envbuilder" { name = "coder-envbuilder" display_name = "Write Coder on Coder using Envbuilder" description = "Write Coder on Coder using a workspace built by Envbuilder." @@ -42,10 +42,13 @@ resource "coderd_template" "dogfood" { message = var.CODER_TEMPLATE_MESSAGE directory = var.CODER_TEMPLATE_DIR active = true - tf_vars = [{ - # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 - "envbuilder_cache_dockerconfigjson_path" = "/home/coder/envbuilder-cache-dockerconfig.json" - }] + tf_vars = [ + { + # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 + name = "envbuilder_cache_dockerconfigjson_path" + value = "/home/coder/envbuilder-cache-dockerconfig.json" + } + ] } ] acl = { diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 0741af5fff17a..309e5f5d3d1d4 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -73,44 +73,3 @@ resource "coderd_template" "dogfood" { time_til_dormant_autodelete_ms = 7776000000 time_til_dormant_ms = 8640000000 } - -resource "coderd_template" "dogfood" { - name = var.CODER_TEMPLATE_NAME - display_name = "Write Coder on Coder" - description = "The template to use when developing Coder on Coder!" - icon = "/emojis/1f3c5.png" - organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" - versions = [ - { - name = var.CODER_TEMPLATE_VERSION - message = var.CODER_TEMPLATE_MESSAGE - directory = var.CODER_TEMPLATE_DIR - active = true - } - ] - acl = { - groups = [{ - id = data.coderd_organization.default.id - role = "use" - }] - users = [{ - id = data.coderd_user.machine.id - role = "admin" - }] - } - activity_bump_ms = 10800000 - allow_user_auto_start = true - allow_user_auto_stop = true - allow_user_cancel_workspace_jobs = false - auto_start_permitted_days_of_week = ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"] - auto_stop_requirement = { - days_of_week = ["sunday"] - weeks = 1 - } - default_ttl_ms = 28800000 - deprecation_message = null - failure_ttl_ms = 604800000 - require_active_version = true - time_til_dormant_autodelete_ms = 7776000000 - time_til_dormant_ms = 8640000000 -} From bda4920e16e140f2485a9255b94f0b7ba75cb01b Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 09:45:46 +0000 Subject: [PATCH 04/16] address PR comments --- .github/workflows/dogfood.yaml | 2 +- dogfood/coder-envbuilder/contents/main.tf | 2 +- dogfood/coder-envbuilder/main.tf | 79 ----------------------- dogfood/{coder => }/main.tf | 55 ++++++++++++++-- 4 files changed, 53 insertions(+), 85 deletions(-) delete mode 100644 dogfood/coder-envbuilder/main.tf rename dogfood/{coder => }/main.tf (50%) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 66557fd9d86f4..51518a0d92049 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -196,7 +196,7 @@ jobs: CODER_URL: https://dev.coder.com CODER_SESSION_TOKEN: ${{ secrets.CODER_SESSION_TOKEN }} # Template source & details + TF_VAR_CODER_TEMPLATE_NAME: "${{ secrets.CODER_TEMPLATE_NAME }}-envbuilder" TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} - TF_VAR_CODER_TEMPLATE_DIR: ./contents TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} TF_LOG: info diff --git a/dogfood/coder-envbuilder/contents/main.tf b/dogfood/coder-envbuilder/contents/main.tf index 1d4771ff0c48f..46a1b35e3bde2 100644 --- a/dogfood/coder-envbuilder/contents/main.tf +++ b/dogfood/coder-envbuilder/contents/main.tf @@ -43,7 +43,7 @@ data "coder_parameter" "devcontainer_repo" { data "coder_parameter" "devcontainer_dir" { type = "string" name = "Devcontainer Directory" - default = "dogfood/contents/" + default = "dogfood/coder/contents/" description = "Directory containing a devcontainer.json relative to the repository root" mutable = true } diff --git a/dogfood/coder-envbuilder/main.tf b/dogfood/coder-envbuilder/main.tf deleted file mode 100644 index c25ebb76ece38..0000000000000 --- a/dogfood/coder-envbuilder/main.tf +++ /dev/null @@ -1,79 +0,0 @@ -terraform { - required_providers { - coderd = { - source = "coder/coderd" - } - } - backend "gcs" { - bucket = "coder-dogfood-tf-state" - prefix = "/templates/coder-envbuilder" - } -} - -data "coderd_organization" "default" { - is_default = true -} - -data "coderd_user" "machine" { - username = "machine" -} - -variable "CODER_TEMPLATE_VERSION" { - type = string -} - -variable "CODER_TEMPLATE_DIR" { - type = string -} - -variable "CODER_TEMPLATE_MESSAGE" { - type = string -} - -resource "coderd_template" "coder-envbuilder" { - name = "coder-envbuilder" - display_name = "Write Coder on Coder using Envbuilder" - description = "Write Coder on Coder using a workspace built by Envbuilder." - icon = "/emojis/1f3d7.png" # 🏗️ - organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" - versions = [ - { - name = var.CODER_TEMPLATE_VERSION - message = var.CODER_TEMPLATE_MESSAGE - directory = var.CODER_TEMPLATE_DIR - active = true - tf_vars = [ - { - # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 - name = "envbuilder_cache_dockerconfigjson_path" - value = "/home/coder/envbuilder-cache-dockerconfig.json" - } - ] - } - ] - acl = { - groups = [{ - id = data.coderd_organization.default.id - role = "use" - }] - users = [{ - id = data.coderd_user.machine.id - role = "admin" - }] - } - activity_bump_ms = 10800000 - allow_user_auto_start = true - allow_user_auto_stop = true - allow_user_cancel_workspace_jobs = false - auto_start_permitted_days_of_week = ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"] - auto_stop_requirement = { - days_of_week = ["sunday"] - weeks = 1 - } - default_ttl_ms = 28800000 - deprecation_message = null - failure_ttl_ms = 604800000 - require_active_version = true - time_til_dormant_autodelete_ms = 7776000000 - time_til_dormant_ms = 8640000000 -} diff --git a/dogfood/coder/main.tf b/dogfood/main.tf similarity index 50% rename from dogfood/coder/main.tf rename to dogfood/main.tf index 309e5f5d3d1d4..5fecab86698e1 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/main.tf @@ -4,9 +4,9 @@ terraform { source = "coder/coderd" } } - backend "gcs" { - bucket = "coder-dogfood-tf-state" - } + # backend "gcs" { + # bucket = "coder-dogfood-tf-state" + # } } data "coderd_organization" "default" { @@ -43,8 +43,55 @@ resource "coderd_template" "dogfood" { { name = var.CODER_TEMPLATE_VERSION message = var.CODER_TEMPLATE_MESSAGE - directory = var.CODER_TEMPLATE_DIR + directory = "./coder/contents" + active = true + } + ] + acl = { + groups = [{ + id = data.coderd_organization.default.id + role = "use" + }] + users = [{ + id = data.coderd_user.machine.id + role = "admin" + }] + } + activity_bump_ms = 10800000 + allow_user_auto_start = true + allow_user_auto_stop = true + allow_user_cancel_workspace_jobs = false + auto_start_permitted_days_of_week = ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"] + auto_stop_requirement = { + days_of_week = ["sunday"] + weeks = 1 + } + default_ttl_ms = 28800000 + deprecation_message = null + failure_ttl_ms = 604800000 + require_active_version = true + time_til_dormant_autodelete_ms = 7776000000 + time_til_dormant_ms = 8640000000 +} + + +resource "coderd_template" "envbuilder_dogfood" { + name = "coder-envbuilder" + display_name = "Write Coder on Coder using Envbuilder" + description = "Write Coder on Coder using a workspace built by Envbuilder." + icon = "/emojis/1f3d7.png" # 🏗️ + organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" + versions = [ + { + name = var.CODER_TEMPLATE_VERSION + message = var.CODER_TEMPLATE_MESSAGE + directory = "./coder-envbuilder/contents" active = true + tf_vars = [{ + # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 + name = "envbuilder_cache_dockerconfigjson_path" + value = "/home/coder/envbuilder-cache-dockerconfig.json" + }] } ] acl = { From 97ea68d92559536c03ff584be91b642377b26b27 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 09:46:54 +0000 Subject: [PATCH 05/16] fixup! address PR comments --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 5fecab86698e1..065819dba32a0 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -43,7 +43,7 @@ resource "coderd_template" "dogfood" { { name = var.CODER_TEMPLATE_VERSION message = var.CODER_TEMPLATE_MESSAGE - directory = "./coder/contents" + directory = var.CODER_TEMPLATE_DIR active = true } ] From 3bb008e07cbe22bcf852a69d1f0a654cda1ed732 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 09:47:18 +0000 Subject: [PATCH 06/16] fixup! fixup! address PR comments --- dogfood/main.tf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 065819dba32a0..064ce2b3c4d83 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -4,9 +4,9 @@ terraform { source = "coder/coderd" } } - # backend "gcs" { - # bucket = "coder-dogfood-tf-state" - # } + backend "gcs" { + bucket = "coder-dogfood-tf-state" + } } data "coderd_organization" "default" { From d028fe3d8857f6944401473fa0506f1a33528383 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 11:07:15 +0000 Subject: [PATCH 07/16] replace hard-coded organization_id --- dogfood/main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 064ce2b3c4d83..f9eb4707765ea 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -38,7 +38,7 @@ resource "coderd_template" "dogfood" { display_name = "Write Coder on Coder" description = "The template to use when developing Coder on Coder!" icon = "/emojis/1f3c5.png" - organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" + organization_id = data.coderd_organization.default.id versions = [ { name = var.CODER_TEMPLATE_VERSION @@ -80,7 +80,7 @@ resource "coderd_template" "envbuilder_dogfood" { display_name = "Write Coder on Coder using Envbuilder" description = "Write Coder on Coder using a workspace built by Envbuilder." icon = "/emojis/1f3d7.png" # 🏗️ - organization_id = "703f72a1-76f6-4f89-9de6-8a3989693fe5" + organization_id = data.coderd_organization.default.id versions = [ { name = var.CODER_TEMPLATE_VERSION From 07644b19158a01dfe73b7b7d7600767eb3930e91 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 11:19:32 +0000 Subject: [PATCH 08/16] deduplicate --- .github/workflows/dogfood.yaml | 56 +++------------------------------- 1 file changed, 5 insertions(+), 51 deletions(-) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 51518a0d92049..004e5cccb2bce 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -111,7 +111,7 @@ jobs: workload_identity_provider: projects/573722524737/locations/global/workloadIdentityPools/github/providers/github service_account: coder-ci@coder-dogfood.iam.gserviceaccount.com - - name: Terraform init and validate + - name: Terraform init and validate coder template run: | cd dogfood/coder terraform init -upgrade @@ -120,54 +120,7 @@ jobs: terraform init -upgrade terraform validate - - name: Get short commit SHA - if: github.ref == 'refs/heads/main' - id: vars - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Get latest commit title - if: github.ref == 'refs/heads/main' - id: message - run: echo "pr_title=$(git log --format=%s -n 1 ${{ github.sha }})" >> $GITHUB_OUTPUT - - - name: "Push template" - if: github.ref == 'refs/heads/main' - run: | - cd dogfood/coder - terraform apply -auto-approve - env: - # Consumed by coderd provider - CODER_URL: https://dev.coder.com - CODER_SESSION_TOKEN: ${{ secrets.CODER_SESSION_TOKEN }} - # Template source & details - TF_VAR_CODER_TEMPLATE_NAME: ${{ secrets.CODER_TEMPLATE_NAME }} - TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} - TF_VAR_CODER_TEMPLATE_DIR: ./contents - TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} - TF_LOG: info - - deploy_template_envbuilder: - needs: build_image - runs-on: ubuntu-latest - steps: - - name: Harden Runner - uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 - with: - egress-policy: audit - - - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Setup Terraform - uses: ./.github/actions/setup-tf - - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 # v2.1.8 - with: - workload_identity_provider: projects/573722524737/locations/global/workloadIdentityPools/github/providers/github - service_account: coder-ci@coder-dogfood.iam.gserviceaccount.com - - - name: Terraform init and validate + - name: Terraform init and validate coder-envbuilder template run: | cd dogfood/coder-envbuilder terraform init -upgrade @@ -189,14 +142,15 @@ jobs: - name: "Push template" if: github.ref == 'refs/heads/main' run: | - cd dogfood/coder-envbuilder + cd dogfood/ terraform apply -auto-approve env: # Consumed by coderd provider CODER_URL: https://dev.coder.com CODER_SESSION_TOKEN: ${{ secrets.CODER_SESSION_TOKEN }} # Template source & details - TF_VAR_CODER_TEMPLATE_NAME: "${{ secrets.CODER_TEMPLATE_NAME }}-envbuilder" + TF_VAR_CODER_TEMPLATE_NAME: ${{ secrets.CODER_TEMPLATE_NAME }} TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} + TF_VAR_CODER_TEMPLATE_DIR: ./contents TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} TF_LOG: info From 4b38f40d9a24bba737e74e54fb0a9ab57857e1c0 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Mon, 10 Mar 2025 11:22:17 +0000 Subject: [PATCH 09/16] fix dirs --- .github/workflows/dogfood.yaml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 004e5cccb2bce..7a4fcc0bf9602 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -111,23 +111,20 @@ jobs: workload_identity_provider: projects/573722524737/locations/global/workloadIdentityPools/github/providers/github service_account: coder-ci@coder-dogfood.iam.gserviceaccount.com - - name: Terraform init and validate coder template + - name: Terraform init and validate run: | - cd dogfood/coder + pushd dogfood/ terraform init -upgrade terraform validate - cd contents + popd + pushd coder/contents terraform init -upgrade terraform validate - - - name: Terraform init and validate coder-envbuilder template - run: | - cd dogfood/coder-envbuilder - terraform init -upgrade - terraform validate - cd contents + popd + pushd coder-envbuilder/contents terraform init -upgrade terraform validate + popd - name: Get short commit SHA if: github.ref == 'refs/heads/main' From c43a047d468b4de015713f96252986f2c0156e48 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:32:20 +0000 Subject: [PATCH 10/16] remove contents dirs --- .github/dependabot.yaml | 4 ++-- .github/workflows/ci.yaml | 2 +- .github/workflows/dogfood.yaml | 14 +++++++------- .github/workflows/security.yaml | 2 +- Makefile | 6 +++--- dogfood/coder-envbuilder/{contents => }/README.md | 0 dogfood/coder-envbuilder/{contents => }/main.tf | 0 dogfood/coder/{contents => }/Dockerfile | 0 dogfood/coder/{contents => }/Makefile | 0 dogfood/coder/{contents => }/README.md | 0 dogfood/coder/{contents => }/devcontainer.json | 0 .../files/etc/apt/apt.conf.d/80-no-recommends | 0 .../files/etc/apt/apt.conf.d/80-retries | 0 .../files/etc/apt/preferences.d/containerd | 0 .../files/etc/apt/preferences.d/docker | 0 .../files/etc/apt/preferences.d/github-cli | 0 .../files/etc/apt/preferences.d/google-cloud | 0 .../files/etc/apt/preferences.d/hashicorp | 0 .../files/etc/apt/preferences.d/ppa | 0 .../files/etc/apt/sources.list.d/docker.list | 0 .../etc/apt/sources.list.d/google-cloud.list | 0 .../files/etc/apt/sources.list.d/hashicorp.list | 0 .../files/etc/apt/sources.list.d/postgresql.list | 0 .../files/etc/apt/sources.list.d/ppa.list | 0 .../{contents => }/files/etc/docker/daemon.json | 0 .../files/usr/share/keyrings/ansible.gpg | Bin .../files/usr/share/keyrings/docker.gpg | Bin .../files/usr/share/keyrings/fish-shell.gpg | Bin .../files/usr/share/keyrings/git-core.gpg | Bin .../files/usr/share/keyrings/github-cli.gpg | Bin .../files/usr/share/keyrings/google-cloud.gpg | Bin .../files/usr/share/keyrings/hashicorp.gpg | Bin .../files/usr/share/keyrings/helix.gpg | Bin .../files/usr/share/keyrings/neovim.gpg | Bin .../files/usr/share/keyrings/postgresql.gpg | Bin dogfood/coder/{contents => }/guide.md | 0 dogfood/coder/{contents => }/main.tf | 0 dogfood/coder/{contents => }/nix.hash | 0 dogfood/coder/{contents => }/update-keys.sh | 0 dogfood/coder/{contents => }/zed/main.tf | 0 dogfood/main.tf | 6 +++--- scripts/update-flake.sh | 2 +- 42 files changed, 18 insertions(+), 18 deletions(-) rename dogfood/coder-envbuilder/{contents => }/README.md (100%) rename dogfood/coder-envbuilder/{contents => }/main.tf (100%) rename dogfood/coder/{contents => }/Dockerfile (100%) rename dogfood/coder/{contents => }/Makefile (100%) rename dogfood/coder/{contents => }/README.md (100%) rename dogfood/coder/{contents => }/devcontainer.json (100%) rename dogfood/coder/{contents => }/files/etc/apt/apt.conf.d/80-no-recommends (100%) rename dogfood/coder/{contents => }/files/etc/apt/apt.conf.d/80-retries (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/containerd (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/docker (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/github-cli (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/google-cloud (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/hashicorp (100%) rename dogfood/coder/{contents => }/files/etc/apt/preferences.d/ppa (100%) rename dogfood/coder/{contents => }/files/etc/apt/sources.list.d/docker.list (100%) rename dogfood/coder/{contents => }/files/etc/apt/sources.list.d/google-cloud.list (100%) rename dogfood/coder/{contents => }/files/etc/apt/sources.list.d/hashicorp.list (100%) rename dogfood/coder/{contents => }/files/etc/apt/sources.list.d/postgresql.list (100%) rename dogfood/coder/{contents => }/files/etc/apt/sources.list.d/ppa.list (100%) rename dogfood/coder/{contents => }/files/etc/docker/daemon.json (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/ansible.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/docker.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/fish-shell.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/git-core.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/github-cli.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/google-cloud.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/hashicorp.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/helix.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/neovim.gpg (100%) rename dogfood/coder/{contents => }/files/usr/share/keyrings/postgresql.gpg (100%) rename dogfood/coder/{contents => }/guide.md (100%) rename dogfood/coder/{contents => }/main.tf (100%) rename dogfood/coder/{contents => }/nix.hash (100%) rename dogfood/coder/{contents => }/update-keys.sh (100%) rename dogfood/coder/{contents => }/zed/main.tf (100%) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index bece459e701e7..3212c07c8b306 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -37,8 +37,8 @@ updates: # Update our Dockerfile. - package-ecosystem: "docker" directories: - - "/dogfood/coder/contents" - - "/dogfood/coder-envbuilder/contents" + - "/dogfood/coder" + - "/dogfood/coder-envbuilder" - "/scripts" - "/examples/templates/docker/build" - "/examples/parameters/build" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d20ea4e947ab8..cb44105012315 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -172,7 +172,7 @@ jobs: - name: Get golangci-lint cache dir run: | - linter_ver=$(egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/contents/Dockerfile | cut -d '=' -f 2) + linter_ver=$(egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/Dockerfile | cut -d '=' -f 2) go install github.com/golangci/golangci-lint/cmd/golangci-lint@v$linter_ver dir=$(golangci-lint cache status | awk '/Dir/ { print $2 }') echo "LINT_CACHE_DIR=$dir" >> $GITHUB_ENV diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 7a4fcc0bf9602..219891da8831b 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -68,7 +68,7 @@ jobs: project: b4q6ltmpzh token: ${{ secrets.DEPOT_TOKEN }} buildx-fallback: true - context: "{{defaultContext}}:dogfood/coder/contents" + context: "{{defaultContext}}:dogfood/coder" pull: true save: true push: ${{ github.ref == 'refs/heads/main' }} @@ -114,15 +114,15 @@ jobs: - name: Terraform init and validate run: | pushd dogfood/ - terraform init -upgrade + terraform init terraform validate popd - pushd coder/contents - terraform init -upgrade + pushd coder + terraform init terraform validate popd - pushd coder-envbuilder/contents - terraform init -upgrade + pushd coder-envbuilder + terraform init terraform validate popd @@ -148,6 +148,6 @@ jobs: # Template source & details TF_VAR_CODER_TEMPLATE_NAME: ${{ secrets.CODER_TEMPLATE_NAME }} TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} - TF_VAR_CODER_TEMPLATE_DIR: ./contents + TF_VAR_CODER_TEMPLATE_DIR: ./dogfood TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} TF_LOG: info diff --git a/.github/workflows/security.yaml b/.github/workflows/security.yaml index 1e42241383f87..03ee574b90040 100644 --- a/.github/workflows/security.yaml +++ b/.github/workflows/security.yaml @@ -99,7 +99,7 @@ jobs: # version in the comments will differ. This is also defined in # ci.yaml. set -euxo pipefail - cd dogfood/coder/contents + cd dogfood/coder mkdir -p /usr/local/bin mkdir -p /usr/local/include diff --git a/Makefile b/Makefile index b0eb93793ae73..65e85bd23286f 100644 --- a/Makefile +++ b/Makefile @@ -505,7 +505,7 @@ lint/ts: site/node_modules/.installed lint/go: ./scripts/check_enterprise_imports.sh ./scripts/check_codersdk_imports.sh - linter_ver=$(shell egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/contents/Dockerfile | cut -d '=' -f 2) + linter_ver=$(shell egrep -o 'GOLANGCI_LINT_VERSION=\S+' dogfood/coder/Dockerfile | cut -d '=' -f 2) go run github.com/golangci/golangci-lint/cmd/golangci-lint@v$$linter_ver run .PHONY: lint/go @@ -963,5 +963,5 @@ else endif .PHONY: test-e2e -dogfood/coder/contents/nix.hash: flake.nix flake.lock - sha256sum flake.nix flake.lock >./dogfood/coder/contents/nix.hash +dogfood/coder/nix.hash: flake.nix flake.lock + sha256sum flake.nix flake.lock >./dogfood/coder/nix.hash diff --git a/dogfood/coder-envbuilder/contents/README.md b/dogfood/coder-envbuilder/README.md similarity index 100% rename from dogfood/coder-envbuilder/contents/README.md rename to dogfood/coder-envbuilder/README.md diff --git a/dogfood/coder-envbuilder/contents/main.tf b/dogfood/coder-envbuilder/main.tf similarity index 100% rename from dogfood/coder-envbuilder/contents/main.tf rename to dogfood/coder-envbuilder/main.tf diff --git a/dogfood/coder/contents/Dockerfile b/dogfood/coder/Dockerfile similarity index 100% rename from dogfood/coder/contents/Dockerfile rename to dogfood/coder/Dockerfile diff --git a/dogfood/coder/contents/Makefile b/dogfood/coder/Makefile similarity index 100% rename from dogfood/coder/contents/Makefile rename to dogfood/coder/Makefile diff --git a/dogfood/coder/contents/README.md b/dogfood/coder/README.md similarity index 100% rename from dogfood/coder/contents/README.md rename to dogfood/coder/README.md diff --git a/dogfood/coder/contents/devcontainer.json b/dogfood/coder/devcontainer.json similarity index 100% rename from dogfood/coder/contents/devcontainer.json rename to dogfood/coder/devcontainer.json diff --git a/dogfood/coder/contents/files/etc/apt/apt.conf.d/80-no-recommends b/dogfood/coder/files/etc/apt/apt.conf.d/80-no-recommends similarity index 100% rename from dogfood/coder/contents/files/etc/apt/apt.conf.d/80-no-recommends rename to dogfood/coder/files/etc/apt/apt.conf.d/80-no-recommends diff --git a/dogfood/coder/contents/files/etc/apt/apt.conf.d/80-retries b/dogfood/coder/files/etc/apt/apt.conf.d/80-retries similarity index 100% rename from dogfood/coder/contents/files/etc/apt/apt.conf.d/80-retries rename to dogfood/coder/files/etc/apt/apt.conf.d/80-retries diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/containerd b/dogfood/coder/files/etc/apt/preferences.d/containerd similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/containerd rename to dogfood/coder/files/etc/apt/preferences.d/containerd diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/docker b/dogfood/coder/files/etc/apt/preferences.d/docker similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/docker rename to dogfood/coder/files/etc/apt/preferences.d/docker diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/github-cli b/dogfood/coder/files/etc/apt/preferences.d/github-cli similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/github-cli rename to dogfood/coder/files/etc/apt/preferences.d/github-cli diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/google-cloud b/dogfood/coder/files/etc/apt/preferences.d/google-cloud similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/google-cloud rename to dogfood/coder/files/etc/apt/preferences.d/google-cloud diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/hashicorp b/dogfood/coder/files/etc/apt/preferences.d/hashicorp similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/hashicorp rename to dogfood/coder/files/etc/apt/preferences.d/hashicorp diff --git a/dogfood/coder/contents/files/etc/apt/preferences.d/ppa b/dogfood/coder/files/etc/apt/preferences.d/ppa similarity index 100% rename from dogfood/coder/contents/files/etc/apt/preferences.d/ppa rename to dogfood/coder/files/etc/apt/preferences.d/ppa diff --git a/dogfood/coder/contents/files/etc/apt/sources.list.d/docker.list b/dogfood/coder/files/etc/apt/sources.list.d/docker.list similarity index 100% rename from dogfood/coder/contents/files/etc/apt/sources.list.d/docker.list rename to dogfood/coder/files/etc/apt/sources.list.d/docker.list diff --git a/dogfood/coder/contents/files/etc/apt/sources.list.d/google-cloud.list b/dogfood/coder/files/etc/apt/sources.list.d/google-cloud.list similarity index 100% rename from dogfood/coder/contents/files/etc/apt/sources.list.d/google-cloud.list rename to dogfood/coder/files/etc/apt/sources.list.d/google-cloud.list diff --git a/dogfood/coder/contents/files/etc/apt/sources.list.d/hashicorp.list b/dogfood/coder/files/etc/apt/sources.list.d/hashicorp.list similarity index 100% rename from dogfood/coder/contents/files/etc/apt/sources.list.d/hashicorp.list rename to dogfood/coder/files/etc/apt/sources.list.d/hashicorp.list diff --git a/dogfood/coder/contents/files/etc/apt/sources.list.d/postgresql.list b/dogfood/coder/files/etc/apt/sources.list.d/postgresql.list similarity index 100% rename from dogfood/coder/contents/files/etc/apt/sources.list.d/postgresql.list rename to dogfood/coder/files/etc/apt/sources.list.d/postgresql.list diff --git a/dogfood/coder/contents/files/etc/apt/sources.list.d/ppa.list b/dogfood/coder/files/etc/apt/sources.list.d/ppa.list similarity index 100% rename from dogfood/coder/contents/files/etc/apt/sources.list.d/ppa.list rename to dogfood/coder/files/etc/apt/sources.list.d/ppa.list diff --git a/dogfood/coder/contents/files/etc/docker/daemon.json b/dogfood/coder/files/etc/docker/daemon.json similarity index 100% rename from dogfood/coder/contents/files/etc/docker/daemon.json rename to dogfood/coder/files/etc/docker/daemon.json diff --git a/dogfood/coder/contents/files/usr/share/keyrings/ansible.gpg b/dogfood/coder/files/usr/share/keyrings/ansible.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/ansible.gpg rename to dogfood/coder/files/usr/share/keyrings/ansible.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/docker.gpg b/dogfood/coder/files/usr/share/keyrings/docker.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/docker.gpg rename to dogfood/coder/files/usr/share/keyrings/docker.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/fish-shell.gpg b/dogfood/coder/files/usr/share/keyrings/fish-shell.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/fish-shell.gpg rename to dogfood/coder/files/usr/share/keyrings/fish-shell.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/git-core.gpg b/dogfood/coder/files/usr/share/keyrings/git-core.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/git-core.gpg rename to dogfood/coder/files/usr/share/keyrings/git-core.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/github-cli.gpg b/dogfood/coder/files/usr/share/keyrings/github-cli.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/github-cli.gpg rename to dogfood/coder/files/usr/share/keyrings/github-cli.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/google-cloud.gpg b/dogfood/coder/files/usr/share/keyrings/google-cloud.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/google-cloud.gpg rename to dogfood/coder/files/usr/share/keyrings/google-cloud.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/hashicorp.gpg b/dogfood/coder/files/usr/share/keyrings/hashicorp.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/hashicorp.gpg rename to dogfood/coder/files/usr/share/keyrings/hashicorp.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/helix.gpg b/dogfood/coder/files/usr/share/keyrings/helix.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/helix.gpg rename to dogfood/coder/files/usr/share/keyrings/helix.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/neovim.gpg b/dogfood/coder/files/usr/share/keyrings/neovim.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/neovim.gpg rename to dogfood/coder/files/usr/share/keyrings/neovim.gpg diff --git a/dogfood/coder/contents/files/usr/share/keyrings/postgresql.gpg b/dogfood/coder/files/usr/share/keyrings/postgresql.gpg similarity index 100% rename from dogfood/coder/contents/files/usr/share/keyrings/postgresql.gpg rename to dogfood/coder/files/usr/share/keyrings/postgresql.gpg diff --git a/dogfood/coder/contents/guide.md b/dogfood/coder/guide.md similarity index 100% rename from dogfood/coder/contents/guide.md rename to dogfood/coder/guide.md diff --git a/dogfood/coder/contents/main.tf b/dogfood/coder/main.tf similarity index 100% rename from dogfood/coder/contents/main.tf rename to dogfood/coder/main.tf diff --git a/dogfood/coder/contents/nix.hash b/dogfood/coder/nix.hash similarity index 100% rename from dogfood/coder/contents/nix.hash rename to dogfood/coder/nix.hash diff --git a/dogfood/coder/contents/update-keys.sh b/dogfood/coder/update-keys.sh similarity index 100% rename from dogfood/coder/contents/update-keys.sh rename to dogfood/coder/update-keys.sh diff --git a/dogfood/coder/contents/zed/main.tf b/dogfood/coder/zed/main.tf similarity index 100% rename from dogfood/coder/contents/zed/main.tf rename to dogfood/coder/zed/main.tf diff --git a/dogfood/main.tf b/dogfood/main.tf index f9eb4707765ea..162b74497904c 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -4,9 +4,9 @@ terraform { source = "coder/coderd" } } - backend "gcs" { - bucket = "coder-dogfood-tf-state" - } + # backend "gcs" { + # bucket = "coder-dogfood-tf-state" + # } } data "coderd_organization" "default" { diff --git a/scripts/update-flake.sh b/scripts/update-flake.sh index 26d2a60868709..7007b6b001a5d 100755 --- a/scripts/update-flake.sh +++ b/scripts/update-flake.sh @@ -37,6 +37,6 @@ echo "protoc-gen-go version: $PROTOC_GEN_GO_REV" PROTOC_GEN_GO_SHA256=$(nix-prefetch-git https://github.com/protocolbuffers/protobuf-go --rev "$PROTOC_GEN_GO_REV" | jq -r .hash) sed -i "s#\(sha256 = \"\)[^\"]*#\1${PROTOC_GEN_GO_SHA256}#" ./flake.nix -make dogfood/coder/contents/nix.hash +make dogfood/coder/nix.hash echo "Flake updated successfully!" From 8522da3a6ef196a8899492c566ef4f447f658bdd Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:32:43 +0000 Subject: [PATCH 11/16] fixup! remove contents dirs --- .github/workflows/dogfood.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 219891da8831b..038a9c6d1a8aa 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -148,6 +148,6 @@ jobs: # Template source & details TF_VAR_CODER_TEMPLATE_NAME: ${{ secrets.CODER_TEMPLATE_NAME }} TF_VAR_CODER_TEMPLATE_VERSION: ${{ steps.vars.outputs.sha_short }} - TF_VAR_CODER_TEMPLATE_DIR: ./dogfood + TF_VAR_CODER_TEMPLATE_DIR: ./coder TF_VAR_CODER_TEMPLATE_MESSAGE: ${{ steps.message.outputs.pr_title }} TF_LOG: info From 93d08b4ad64eee11a66a8e90981a92fa1b49ed11 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:33:49 +0000 Subject: [PATCH 12/16] fixup! fixup! remove contents dirs --- dogfood/main.tf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 162b74497904c..f9eb4707765ea 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -4,9 +4,9 @@ terraform { source = "coder/coderd" } } - # backend "gcs" { - # bucket = "coder-dogfood-tf-state" - # } + backend "gcs" { + bucket = "coder-dogfood-tf-state" + } } data "coderd_organization" "default" { From 6df0590cb79d0af35a51904f5359a8cabbb1f019 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:35:16 +0000 Subject: [PATCH 13/16] undiff --- .github/workflows/dogfood.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 038a9c6d1a8aa..71886120e3faa 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -139,7 +139,7 @@ jobs: - name: "Push template" if: github.ref == 'refs/heads/main' run: | - cd dogfood/ + cd dogfood terraform apply -auto-approve env: # Consumed by coderd provider From eae0f0ddef00ca9c9c60925f5e10a86576764f9e Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:36:45 +0000 Subject: [PATCH 14/16] more fixups --- dogfood/coder-envbuilder/main.tf | 2 +- dogfood/coder/update-keys.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dogfood/coder-envbuilder/main.tf b/dogfood/coder-envbuilder/main.tf index 46a1b35e3bde2..7d13c9887d26b 100644 --- a/dogfood/coder-envbuilder/main.tf +++ b/dogfood/coder-envbuilder/main.tf @@ -43,7 +43,7 @@ data "coder_parameter" "devcontainer_repo" { data "coder_parameter" "devcontainer_dir" { type = "string" name = "Devcontainer Directory" - default = "dogfood/coder/contents/" + default = "dogfood/coder/" description = "Directory containing a devcontainer.json relative to the repository root" mutable = true } diff --git a/dogfood/coder/update-keys.sh b/dogfood/coder/update-keys.sh index ff2495bae70b0..10b2660b5f58b 100755 --- a/dogfood/coder/update-keys.sh +++ b/dogfood/coder/update-keys.sh @@ -15,7 +15,7 @@ gpg_flags=( --yes ) -pushd "$PROJECT_ROOT/dogfood/coder/contents/files/usr/share/keyrings" +pushd "$PROJECT_ROOT/dogfood/coder/files/usr/share/keyrings" # Ansible PPA signing key curl "${curl_flags[@]}" "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6125e2a8c77f2818fb7bd15b93c4a3fd7bb9c367" | From f9b35528832c89423abd363d0f240e6320132d85 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:38:17 +0000 Subject: [PATCH 15/16] another fixup --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index f9eb4707765ea..72cd868f61645 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -85,7 +85,7 @@ resource "coderd_template" "envbuilder_dogfood" { { name = var.CODER_TEMPLATE_VERSION message = var.CODER_TEMPLATE_MESSAGE - directory = "./coder-envbuilder/contents" + directory = "./coder-envbuilder" active = true tf_vars = [{ # clusters/dogfood-v2/coder/provisioner/configs/values.yaml#L191-L194 From 6f9c9502dd58312fced6c6652a0e9f4abb1d8c4c Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 11 Mar 2025 11:49:17 +0000 Subject: [PATCH 16/16] fix pushd/popd --- .github/workflows/dogfood.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dogfood.yaml b/.github/workflows/dogfood.yaml index 71886120e3faa..4ad40acb17e69 100644 --- a/.github/workflows/dogfood.yaml +++ b/.github/workflows/dogfood.yaml @@ -117,11 +117,11 @@ jobs: terraform init terraform validate popd - pushd coder + pushd dogfood/coder terraform init terraform validate popd - pushd coder-envbuilder + pushd dogfood/coder-envbuilder terraform init terraform validate popd pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy