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