Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
157636d
Update devcontainer.json
ruhdevops Apr 11, 2025
5590870
Merge pull request #1 from Ruh-Al-Tarikh/EchosoftheArcane-patch-1
ruhdevops Oct 18, 2025
1949702
Merge branch 'github:main' into main
ruhdevops Oct 18, 2025
7846a29
Update dependabot.yml
ruhdevops Oct 18, 2025
8dc54a4
Merge pull request #2 from Ruh-Al-Tarikh/Ruh-Al-Tarikh-patch-1
ruhdevops Oct 18, 2025
7a466c9
Bump actions/checkout from 4 to 5
dependabot[bot] Oct 18, 2025
7e902d8
Bump stefanzweifel/git-auto-commit-action from 5 to 7
dependabot[bot] Oct 18, 2025
e928b09
Bump actions/setup-dotnet from 2 to 5
dependabot[bot] Oct 18, 2025
8cd508e
Bump github/codeql-action from 3 to 4
dependabot[bot] Oct 18, 2025
593d34d
Bump actions/download-artifact from 4 to 5
dependabot[bot] Oct 18, 2025
43df7d1
Bump actions/download-artifact from 4 to 5 (#7)
ruhdevops Oct 19, 2025
277e41e
Bump github/codeql-action from 3 to 4 (#6)
ruhdevops Oct 19, 2025
edaaf81
Bump actions/setup-dotnet from 2 to 5 (#5)
ruhdevops Oct 19, 2025
38dbfa2
Bump stefanzweifel/git-auto-commit-action from 5 to 7 (#4)
ruhdevops Oct 19, 2025
dc4fc92
Bump actions/checkout from 4 to 5 (#3)
ruhdevops Oct 19, 2025
567a34b
Bump actions/upload-artifact from 4 to 6
dependabot[bot] Dec 15, 2025
fdccee5
Create static.yml
ruhdevops Feb 1, 2026
524c9d8
Create static.yml (#13)
ruhdevops Feb 1, 2026
789751c
Merge branch 'github:main' into main
ruhdevops Feb 6, 2026
689103e
Create codeql.yml
ruhdevops Feb 6, 2026
18c7f40
Create codeql.yml (#14)
ruhdevops Feb 6, 2026
32b1574
Create docker-publish.yml
ruhdevops Feb 6, 2026
d08ea15
Create docker-publish.yml (#15)
ruhdevops Feb 6, 2026
dfdeb65
git merge branch 'main' into dependabot/github_actions/actions/upload…
ruhdevops Feb 6, 2026
26b95f4
Bump actions/upload-artifact from 4 to 6 (#12)
ruhdevops Feb 6, 2026
a10c9a6
Bump docker/build-push-action from 5.0.0 to 6.18.0
dependabot[bot] Feb 9, 2026
f9ac82b
Bump docker/login-action from 3.0.0 to 3.7.0
dependabot[bot] Feb 9, 2026
6e60235
Bump actions/upload-pages-artifact from 3 to 4
dependabot[bot] Feb 9, 2026
bfd2752
Bump docker/metadata-action from 5.0.0 to 5.10.0
dependabot[bot] Feb 9, 2026
18aec3d
Bump docker/setup-buildx-action from 3.0.0 to 3.12.0
dependabot[bot] Feb 9, 2026
8c7f3a2
Bump docker/build-push-action from 5.0.0 to 6.18.0 (#16)
ruhdevops Feb 15, 2026
fb9d045
Merge branch 'main' into dependabot/github_actions/docker/login-actio…
ruhdevops Feb 15, 2026
50dfd58
Bump docker/login-action from 3.0.0 to 3.7.0 (#17)
ruhdevops Feb 15, 2026
d12dd4d
Merge branch 'main' into dependabot/github_actions/actions/upload-pag…
ruhdevops Feb 15, 2026
f6df147
Bump actions/upload-pages-artifact from 3 to 4 (#18)
ruhdevops Feb 15, 2026
a672e04
Merge branch 'main' into dependabot/github_actions/docker/metadata-ac…
ruhdevops Feb 15, 2026
5e35f71
Bump docker/metadata-action from 5.0.0 to 5.10.0 (#19)
ruhdevops Feb 15, 2026
c4b59b0
Merge branch 'main' into dependabot/github_actions/docker/setup-build…
ruhdevops Feb 15, 2026
ba5a852
Bump docker/setup-buildx-action from 3.0.0 to 3.12.0 (#20)
ruhdevops Feb 15, 2026
8b55e75
Bump docker/build-push-action from 6.18.0 to 6.19.2
dependabot[bot] Feb 15, 2026
1f62dff
Bump sigstore/cosign-installer from 3.5.0 to 4.0.0
dependabot[bot] Feb 15, 2026
9f888dd
Bump EnricoMi/publish-unit-test-result-action from 2.21.0 to 2.23.0
dependabot[bot] Feb 23, 2026
96a04d2
Bump extractions/setup-just from 3.0.0 to 3.1.0
dependabot[bot] Feb 23, 2026
63c9e61
Bump actions/upload-artifact from 6 to 7
dependabot[bot] Mar 2, 2026
b022d8b
Bump docker/build-push-action from 6.18.0 to 6.19.2 (#22)
ruhdevops Mar 11, 2026
335de91
Merge branch 'main' into dependabot/github_actions/sigstore/cosign-in…
ruhdevops Mar 11, 2026
e26a2c7
Bump sigstore/cosign-installer from 3.5.0 to 4.0.0 (#23)
ruhdevops Mar 11, 2026
b1ce7f2
Merge branch 'main' into dependabot/github_actions/EnricoMi/publish-u…
ruhdevops Mar 11, 2026
9fd46fa
Bump EnricoMi/publish-unit-test-result-action from 2.21.0 to 2.23.0 (…
ruhdevops Mar 11, 2026
bd8f59d
Merge branch 'main' into dependabot/github_actions/extractions/setup-…
ruhdevops Mar 11, 2026
74d74ee
Bump extractions/setup-just from 3.0.0 to 3.1.0 (#25)
ruhdevops Mar 11, 2026
8a6298f
Merge branch 'main' into dependabot/github_actions/actions/upload-art…
ruhdevops Mar 11, 2026
9f69a4a
Bump actions/upload-artifact from 6 to 7 (#26)
ruhdevops Mar 11, 2026
ab3eee9
Merge branch 'main' into main
ruhdevops Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 6 additions & 27 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,17 @@ jobs:
fail-fast: false
matrix:
runner-os: [windows-latest, ubuntu-latest, macos-latest]
language: [ csharp, actions ]
language: [csharp, actions]

runs-on: ${{ matrix.runner-os }}

steps:
- uses: actions/checkout@v6
with:
persist-credentials: false

- uses: extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b

# e33e0265a09d6d736e2ee1e0eb685ef1de4669ff is tag v3, pinned to avoid supply chain attacks
- uses: extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b
- name: Initialize CodeQL
Expand Down Expand Up @@ -64,7 +67,6 @@ jobs:
run: cp coverage/**/coverage.cobertura.xml coverage/coverage.cobertura.xml

- name: Code Coverage Summary Report
# 51cc3a756ddcd398d447c044c02cb6aa83fdae95 is tag v1.3.0, pinned to avoid supply chain attacks
uses: irongut/CodeCoverageSummary@51cc3a756ddcd398d447c044c02cb6aa83fdae95
if: always() && matrix.runner-os == 'ubuntu-latest' && matrix.language == 'csharp'
with:
Expand All @@ -73,18 +75,16 @@ jobs:
format: "markdown"
output: "both"

# This is used by the subsequent publish-test-results.yml
- name: Upload Unit Test Results
if: always() && matrix.runner-os == 'ubuntu-latest' && matrix.language == 'csharp'
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: Unit Test Results
path: src/OctoshiftCLI.Tests/unit-tests.xml

# This is used by the subsequent publish-test-results.yml
- name: Upload Code Coverage Report
if: always() && matrix.runner-os == 'ubuntu-latest' && matrix.language == 'csharp'
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: Code Coverage Report
path: code-coverage-results.md
Expand All @@ -93,28 +93,7 @@ jobs:
uses: github/codeql-action/analyze@v4
if: matrix.runner-os == 'ubuntu-latest'

upload-event-file:
permissions:
contents: read
actions: write
runs-on: ubuntu-latest
steps:
# This is used by the subsequent publish-test-results.yaml
- name: Upload Event File
uses: actions/upload-artifact@v6
with:
name: Event File
path: ${{ github.event_path }}

build-for-e2e-test:
permissions:
contents: read
actions: write
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login == 'github'
strategy:
fail-fast: false
matrix:
target-os: [windows-latest, ubuntu-latest, macos-latest]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
Expand Down
101 changes: 101 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '45 23 * * 5'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write

# required to fetch internal or private CodeQL packs
packages: read

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: csharp
build-mode: none
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4

# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- name: Run manual build steps
if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@v6

- name: Setup .NET
uses: actions/setup-dotnet@v2
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json

Expand Down
98 changes: 98 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Docker

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
schedule:
- cron: '36 13 * * *'
push:
branches: [ "main" ]
# Publish semver tags as releases.
tags: [ 'v*.*.*' ]
pull_request:
branches: [ "main" ]

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}


jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad #v4.0.0
with:
cosign-release: 'v2.2.4'

# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
Loading
Loading