From 02347f0c4f4da8fcfb7efe3713d0cad54b210640 Mon Sep 17 00:00:00 2001 From: Glenn Van Loon Date: Wed, 17 Dec 2025 13:25:00 +0100 Subject: [PATCH 1/4] remove leading whitespace --- .../{ publish-devcontainer.yaml => publish-devcontainer.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{ publish-devcontainer.yaml => publish-devcontainer.yaml} (100%) diff --git a/.github/workflows/ publish-devcontainer.yaml b/.github/workflows/publish-devcontainer.yaml similarity index 100% rename from .github/workflows/ publish-devcontainer.yaml rename to .github/workflows/publish-devcontainer.yaml From ce2a8539c08519d4e2beb10c99fe26a9257fa152 Mon Sep 17 00:00:00 2001 From: Glenn Van Loon Date: Wed, 17 Dec 2025 13:30:14 +0100 Subject: [PATCH 2/4] lint dockerfile --- .github/workflows/lint-dockerfile.yaml | 34 ++++++++++++++++++++++++++ .hadolint.yaml | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 .github/workflows/lint-dockerfile.yaml create mode 100644 .hadolint.yaml diff --git a/.github/workflows/lint-dockerfile.yaml b/.github/workflows/lint-dockerfile.yaml new file mode 100644 index 0000000..b186ef0 --- /dev/null +++ b/.github/workflows/lint-dockerfile.yaml @@ -0,0 +1,34 @@ +name: Lint Dockerfile +on: + push: + branches: + - main + pull_request: + branches: + - main +jobs: + validate-dockerfile: + name: Validate Dockerfile + runs-on: ubuntu-latest + steps: + - name: Checkout repository code + uses: actions/checkout@v6 + - name: Install docker buildx + uses: docker/setup-buildx-action@v3 + - name: Check Dockerfile for errors + uses: docker/build-push-action@v6 + with: + file: .devcontainer/Dockerfile + call: check + lint-dockerfile: + name: Lint Dockerfile + runs-on: ubuntu-latest + needs: validate-dockerfile + steps: + - name: Checkout repository code + uses: actions/checkout@v6 + - name: Check Dockerfile for errors + uses: hadolint/hadolint-action@master + with: + dockerfile: .devcontainer/Dockerfile + config: .hadolint.yaml diff --git a/.hadolint.yaml b/.hadolint.yaml new file mode 100644 index 0000000..8f7e23e --- /dev/null +++ b/.hadolint.yaml @@ -0,0 +1,2 @@ +ignored: + - DL3008 From 5744e179f6792287b0ce64d64e5a17ab13ffa354 Mon Sep 17 00:00:00 2001 From: Glenn Van Loon Date: Wed, 17 Dec 2025 13:39:21 +0100 Subject: [PATCH 3/4] check more tools --- .github/workflows/sanity-checks.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/sanity-checks.yaml b/.github/workflows/sanity-checks.yaml index 8054930..9880c20 100644 --- a/.github/workflows/sanity-checks.yaml +++ b/.github/workflows/sanity-checks.yaml @@ -53,9 +53,14 @@ jobs: cacheFrom: ${{ env.GHCR_URL }} push: never runCmd: | + ccache --version clang --version + clang-format --version + clang-tidy --version + clangd --version cmake --version cppcheck --version + lldb --version vcpkg --version build-test-project: name: Build test project From ae1c0cbb7574c1e070924ffe1a92bbee264a249e Mon Sep 17 00:00:00 2001 From: Glenn Van Loon Date: Wed, 17 Dec 2025 13:54:01 +0100 Subject: [PATCH 4/4] derive image name from docker user and repo name --- .github/workflows/publish-devcontainer.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-devcontainer.yaml b/.github/workflows/publish-devcontainer.yaml index c7060f6..65d9a68 100644 --- a/.github/workflows/publish-devcontainer.yaml +++ b/.github/workflows/publish-devcontainer.yaml @@ -18,9 +18,11 @@ jobs: password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} - name: Install docker buildx uses: docker/setup-buildx-action@v3 + - name: Extract repository name + run: echo "REPO_NAME=$(basename ${{ github.repository }})" >> ${GITHUB_ENV} - name: Build and push uses: docker/build-push-action@v6 with: context: .devcontainer push: true - tags: dhglennvl/cpp-devcontainer:latest + tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.REPO_NAME }}:latest