From 45f26910538024f1799fdcd0f3f4aebfd10021b2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 18:47:53 +0300 Subject: [PATCH 1/8] ci: Disable original CI workflows --- .github/{workflows => workflows_old}/codeql-analysis.yml | 0 .github/{workflows => workflows_old}/docker.yaml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/{workflows => workflows_old}/codeql-analysis.yml (100%) rename .github/{workflows => workflows_old}/docker.yaml (100%) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows_old/codeql-analysis.yml similarity index 100% rename from .github/workflows/codeql-analysis.yml rename to .github/workflows_old/codeql-analysis.yml diff --git a/.github/workflows/docker.yaml b/.github/workflows_old/docker.yaml similarity index 100% rename from .github/workflows/docker.yaml rename to .github/workflows_old/docker.yaml From 19550eec6aa5959197d100e9e720f1863f2b4077 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 18:50:34 +0300 Subject: [PATCH 2/8] ci: Set up Docker build in dev workflow --- .github/workflows/dev.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/dev.yml diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml new file mode 100644 index 000000000..ed62e70a9 --- /dev/null +++ b/.github/workflows/dev.yml @@ -0,0 +1,15 @@ +name: Dev +on: + push: +jobs: + build_docker: + name: Build Docker image + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: docker/setup-buildx-action@v1 + - uses: docker/build-push-action@v2 + with: + context: . + cache-from: type=gha + cache-to: type=gha,mode=max \ No newline at end of file From c0cc1e3b52dca748497af25bfe6651d1373affde Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 18:56:18 +0300 Subject: [PATCH 3/8] ci: Run tsc & create server-package.json --- .github/workflows/dev.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index ed62e70a9..c26c28c26 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -7,6 +7,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Run the TypeScript build + run: npx tsc + - name: Create server-package.json + run: cat package.json | grep -v electron > server-package.json - uses: docker/setup-buildx-action@v1 - uses: docker/build-push-action@v2 with: From 8bcff491983827fb72602d580ea1596f84f87751 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 18:57:13 +0300 Subject: [PATCH 4/8] ci: Install npm dependencies --- .github/workflows/dev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index c26c28c26..da72a02f1 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -7,6 +7,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install dependencies + run: npm i - name: Run the TypeScript build run: npx tsc - name: Create server-package.json From 439bf410ac9df563bcc70e5d623adc82d20ebaff Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 19:05:39 +0300 Subject: [PATCH 5/8] ci: Use newer versions of actions --- .github/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index da72a02f1..82b92d278 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -13,8 +13,8 @@ jobs: run: npx tsc - name: Create server-package.json run: cat package.json | grep -v electron > server-package.json - - uses: docker/setup-buildx-action@v1 - - uses: docker/build-push-action@v2 + - uses: docker/setup-buildx-action@v3 + - uses: docker/build-push-action@v6 with: context: . cache-from: type=gha From be239d2230f58bb7253f59af7984944acad84db0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 19:08:48 +0300 Subject: [PATCH 6/8] ci: Set up node environment & cache --- .github/workflows/dev.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 82b92d278..392046d2c 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -7,8 +7,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Install dependencies - run: npm i + - name: Set up node & dependencies + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "npm" + - run: npm ci - name: Run the TypeScript build run: npx tsc - name: Create server-package.json From 7184c648ab313ff4690fafce7bd03b7cc350bfd0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 19:37:30 +0300 Subject: [PATCH 7/8] ci: Test Docker publishing --- .github/workflows/main.yml | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..096850024 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,57 @@ +name: Main +on: + push: + branches: + - 'develop' + - 'feature/basic_ci' +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} +jobs: + build_docker: + name: Build Docker image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + attestations: write + id-token: write + steps: + - uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Set up node & dependencies + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "npm" + - run: npm ci + - name: Run the TypeScript build + run: npx tsc + - name: Create server-package.json + run: cat package.json | grep -v electron > server-package.json + - uses: docker/setup-buildx-action@v3 + - uses: docker/build-push-action@v6 + id: push + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v1 + with: + subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true \ No newline at end of file From 1652a7a2ec80ec2ee8fc17ebd881a700246de0fb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 13 Jul 2024 20:04:00 +0300 Subject: [PATCH 8/8] ci: Remove test branch --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 096850024..747432396 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,6 @@ on: push: branches: - 'develop' - - 'feature/basic_ci' env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }}