Improve CI #128
6 changed files with 83 additions and 8 deletions
|
@ -22,7 +22,6 @@ resources:
|
||||||
source:
|
source:
|
||||||
uri: https://git.sclu1034.dev/bitsquid_dt/dtmt
|
uri: https://git.sclu1034.dev/bitsquid_dt/dtmt
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- name: set-pipelines
|
- name: set-pipelines
|
||||||
plan:
|
plan:
|
||||||
|
@ -42,5 +41,3 @@ jobs:
|
||||||
gitea_api_key: ((gitea_api_key))
|
gitea_api_key: ((gitea_api_key))
|
||||||
instance_vars:
|
instance_vars:
|
||||||
pr: ((.:pr.number))
|
pr: ((.:pr.number))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/cappyzawa/concourse-pipeline-jsonschema/master/concourse_jsonschema.json#/definitions/Config
|
||||||
---
|
---
|
||||||
|
|
||||||
# The actual CI pipeline that is run per branch
|
# The actual CI pipeline that is run per branch
|
||||||
|
@ -6,7 +7,7 @@ resources:
|
||||||
- name: repo
|
- name: repo
|
||||||
type: git
|
type: git
|
||||||
source:
|
source:
|
||||||
uri: https://git.sclu1034.dev/bitsquid_dt/dtmt
|
uri: http://forgejo:3000/bitsquid_dt/dtmt
|
||||||
branch: ((pr.head.ref))
|
branch: ((pr.head.ref))
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -34,6 +35,7 @@ jobs:
|
||||||
target: msvc
|
target: msvc
|
||||||
output: artifact
|
output: artifact
|
||||||
ref: ((.:ref))
|
ref: ((.:ref))
|
||||||
|
gitea_url: http://forgejo:3000
|
||||||
gitea_api_key: ((gitea_api_key))
|
gitea_api_key: ((gitea_api_key))
|
||||||
|
|
||||||
- name: build-linux
|
- name: build-linux
|
||||||
|
@ -48,4 +50,13 @@ jobs:
|
||||||
target: linux
|
target: linux
|
||||||
output: artifact
|
output: artifact
|
||||||
ref: ((.:ref))
|
ref: ((.:ref))
|
||||||
|
gitea_url: http://forgejo:3000
|
||||||
gitea_api_key: ((gitea_api_key))
|
gitea_api_key: ((gitea_api_key))
|
||||||
|
- task: upload
|
||||||
|
file: repo/.ci/tasks/upload.yml
|
||||||
|
vars:
|
||||||
|
input: artifact
|
||||||
|
pr: ((.:pr))
|
||||||
|
gitea_api_key: ((gitea_api_key))
|
||||||
|
gitea_user: bitsquid_dt
|
||||||
|
gitea_url: http://forgejo:3000
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/cappyzawa/concourse-pipeline-jsonschema/master/concourse_jsonschema.json#/definitions/TaskConfig
|
||||||
---
|
---
|
||||||
platform: linux
|
platform: linux
|
||||||
|
|
||||||
image_resource:
|
image_resource:
|
||||||
|
name: ctmt-bi-base-((target))
|
||||||
type: registry-image
|
type: registry-image
|
||||||
source:
|
source:
|
||||||
repository: registry.local:5000/dtmt-ci-base-((target))
|
repository: registry.local:5000/dtmt-ci-base-((target))
|
||||||
|
@ -11,14 +13,18 @@ inputs:
|
||||||
- name: repo
|
- name: repo
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
- name: ((output))
|
- name: artifacts
|
||||||
|
|
||||||
|
caches:
|
||||||
|
- path: repo/target
|
||||||
|
- path: /usr/local/cargo/registry
|
||||||
|
|
||||||
params:
|
params:
|
||||||
CI: true
|
CI: "true"
|
||||||
TARGET: ((target))
|
TARGET: ((target))
|
||||||
GITEA_API_KEY: ((gitea_api_key))
|
GITEA_API_KEY: ((gitea_api_key))
|
||||||
REF: ((ref))
|
REF: ((ref))
|
||||||
OUTPUT: ((output))
|
OUTPUT: artifacts
|
||||||
|
|
||||||
run:
|
run:
|
||||||
path: .ci/util/run.sh
|
path: .ci/util/run.sh
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/cappyzawa/concourse-pipeline-jsonschema/master/concourse_jsonschema.json#/definitions/TaskConfig
|
||||||
---
|
---
|
||||||
platform: linux
|
platform: linux
|
||||||
|
|
||||||
image_resource:
|
image_resource:
|
||||||
|
name: dtmt-ci-base-linux
|
||||||
type: registry-image
|
type: registry-image
|
||||||
source:
|
source:
|
||||||
repository: registry.local:5000/dtmt-ci-base-linux
|
repository: registry.local:5000/dtmt-ci-base-linux
|
||||||
|
@ -10,8 +12,12 @@ image_resource:
|
||||||
inputs:
|
inputs:
|
||||||
- name: repo
|
- name: repo
|
||||||
|
|
||||||
|
caches:
|
||||||
|
- path: repo/target
|
||||||
|
- path: /usr/local/cargo/registry
|
||||||
|
|
||||||
params:
|
params:
|
||||||
CI: true
|
CI: "true"
|
||||||
GITEA_API_KEY: ((gitea_api_key))
|
GITEA_API_KEY: ((gitea_api_key))
|
||||||
REF: ((ref))
|
REF: ((ref))
|
||||||
|
|
||||||
|
|
31
.ci/tasks/upload.sh
Executable file
31
.ci/tasks/upload.sh
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
artifacts="$PWD/artifacts"
|
||||||
|
repo="$PWD/repo"
|
||||||
|
|
||||||
|
base_url="${GITEA_URL}/api/packages/${GITEA_USER}/generic"
|
||||||
|
|
||||||
|
cd "$repo"
|
||||||
|
|
||||||
|
if [ -n "$PR" ]; then
|
||||||
|
echo "PR: $(echo "$PR" | jq '.number') - $(echo "$PR" | jq '.title')"
|
||||||
|
ref="pr-$(echo "$PR" | jq '.number')-$(git rev-parse --short HEAD 2>/dev/null || echo 'manual')"
|
||||||
|
else
|
||||||
|
ref=$(git describe --tags)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "ref: $ref"
|
||||||
|
|
||||||
|
# TODO: If this is a tag, check the tag name to determine which
|
||||||
|
# binary was affected and only upload that.
|
||||||
|
for f in dtmt dtmt.exe dtmm dtmm.exe; do
|
||||||
|
if [ -f "$artifacts/$f" ]; then
|
||||||
|
url="$base_url/$(basename -s .exe $f)/$ref/$f"
|
||||||
|
curl -i -X 'PUT' \
|
||||||
|
--user "concourse:$GITEA_API_KEY" \
|
||||||
|
--upload-file "$artifacts/$f" \
|
||||||
|
"$url"
|
||||||
|
fi
|
||||||
|
done
|
24
.ci/tasks/upload.yml
Normal file
24
.ci/tasks/upload.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/cappyzawa/concourse-pipeline-jsonschema/master/concourse_jsonschema.json#/definitions/TaskConfig
|
||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
|
||||||
|
image_resource:
|
||||||
|
name: python-script
|
||||||
|
type: registry-image
|
||||||
|
source:
|
||||||
|
repository: registry.local:5000/python-script
|
||||||
|
tag: latest
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
- name: repo
|
||||||
|
- name: ((input))
|
||||||
|
|
||||||
|
params:
|
||||||
|
CI: "true"
|
||||||
|
GITEA_API_KEY: ((gitea_api_key))
|
||||||
|
GITEA_URL: ((gitea_url))
|
||||||
|
GITEA_USER: ((user))
|
||||||
|
PR: ((pr))
|
||||||
|
|
||||||
|
run:
|
||||||
|
path: repo/.ci/tasks/upload.sh
|
Loading…
Add table
Reference in a new issue