Skip to content
Snippets Groups Projects
Verified Commit 0aca59a8 authored by Olivier Benz's avatar Olivier Benz
Browse files

First draft

parent 151cb859
No related branches found
No related tags found
No related merge requests found
...@@ -3,3 +3,4 @@ ...@@ -3,3 +3,4 @@
!/.editorconfig !/.editorconfig
!/.gitattributes !/.gitattributes
!/.gitignore !/.gitignore
!/.gitlab-ci.yml
.before-script-build: &before-script-build
- >
docker run --rm
--userns host
--privileged
tonistiigi/binfmt
--install ${ARCH}
.pre:
image: quay.io/curl/curl:latest
stage: .pre
.build:
image: glcr.b-data.ch/docker/docker:dind
stage: build
services:
- name: glcr.b-data.ch/docker/docker:dind
alias: docker
variables:
GIT_STRATEGY: none
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
BUILDX_NO_DEFAULT_ATTESTATIONS: "true"
before_script:
- *before-script-build
.release:
image: registry.gitlab.com/gitlab-org/release-cli:latest
stage: release
stages:
- .pre
- build
- test
- release
- .post
trigger-version-build:
extends: .pre
stage: .pre
script:
- nodeVersion=$(<.node-version)
- >
curl
-X POST
-F token=$CODER_CODE_SERVER_BUILDER
-F ref=main
-F "variables[TAG]=$CI_COMMIT_TAG"
-F "variables[NODE_VERSION]=$nodeVersion"
https://gitlab.b-data.ch/api/v4/projects/367/trigger/pipeline
rules:
- if: $CI_PIPELINE_TRIGGERED
when: never
- if: $CI_COMMIT_TAG =~ /^v([[:digit:]]+\.)?([[:digit:]]+\.)?([[:digit:]]+)$/
build:version-linux-arch:
extends: .build
tags:
- arch:amd64
- os:linux
- executor:docker
- privileged:true
script:
- echo "TAG=${CI_COMMIT_TAG#v}" >> variables.env
- >
docker run
--platform linux/${ARCH}
-v /tmp:/tmp
-e VERSION=${CI_COMMIT_TAG#v}
glcr.b-data.ch/coder/code-server-builder:${CI_COMMIT_TAG#v}-linux-${ARCH}
- >
docker run
-v /tmp:/tmp
quay.io/curl/curl:latest
--fail-with-body
--header "JOB-TOKEN: $CI_JOB_TOKEN"
--upload-file /tmp/code-server/release-packages/code-server-${CI_COMMIT_TAG#v}-linux-${ARCH}.tar.gz
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG#v}/code-server-${CI_COMMIT_TAG#v}-linux-${ARCH}.tar.gz"
- >
docker run
-v /tmp:/tmp
quay.io/curl/curl:latest
--fail-with-body
--header "JOB-TOKEN: $CI_JOB_TOKEN"
--upload-file /tmp/code-server/release-packages/code-server-${CI_COMMIT_TAG#v}-${ARCH}.rpm
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG#v}/code-server-${CI_COMMIT_TAG#v}-${ARCH}.rpm"
- >
docker run
-v /tmp:/tmp
quay.io/curl/curl:latest
--fail-with-body
--header "JOB-TOKEN: $CI_JOB_TOKEN"
--upload-file /tmp/code-server/release-packages/code-server_${CI_COMMIT_TAG#v}_${ARCH}.deb
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG#v}/code-server_${CI_COMMIT_TAG#v}_${ARCH}.deb"
artifacts:
reports:
dotenv: variables.env
rules:
- if: $CI_COMMIT_TAG =~ /^v([[:digit:]]+\.)?([[:digit:]]+\.)?([[:digit:]]+)$/ && $CI_PIPELINE_TRIGGERED
release:version:
extends: .release
needs:
- job: build:version-linux-arch
artifacts: true
script:
- echo "running linux/$ARCH release for $CI_COMMIT_TAG"
release:
name: "$CI_COMMIT_TAG (linux/${ARCH})"
description: "Unofficial and untested build"
tag_name: "$CI_COMMIT_TAG"
ref: "$CI_COMMIT_SHA"
assets:
links:
- name: "code-server-${TAG}-linux-${ARCH}.tar.gz"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${TAG}/code-server-${TAG}-linux-${ARCH}.tar.gz"
- name: "code-server-${TAG}-${ARCH}.rpm"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${TAG}/code-server-${TAG}-${ARCH}.rpm"
- name: "code-server_${TAG}_${ARCH}.deb"
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${TAG}/code-server_${TAG}_${ARCH}.deb"
rules:
- if: $CI_COMMIT_TAG =~ /^v([[:digit:]]+\.)?([[:digit:]]+\.)?([[:digit:]]+)$/ && $CI_PIPELINE_TRIGGERED
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment