Improve CI #128
6 changed files with 83 additions and 8 deletions
|
@ -22,7 +22,6 @@ resources:
|
|||
source:
|
||||
uri: https://git.sclu1034.dev/bitsquid_dt/dtmt
|
||||
|
||||
|
||||
jobs:
|
||||
- name: set-pipelines
|
||||
plan:
|
||||
|
@ -42,5 +41,3 @@ jobs:
|
|||
gitea_api_key: ((gitea_api_key))
|
||||
instance_vars:
|
||||
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
|
||||
|
@ -6,7 +7,7 @@ resources:
|
|||
- name: repo
|
||||
type: git
|
||||
source:
|
||||
uri: https://git.sclu1034.dev/bitsquid_dt/dtmt
|
||||
uri: http://forgejo:3000/bitsquid_dt/dtmt
|
||||
branch: ((pr.head.ref))
|
||||
|
||||
jobs:
|
||||
|
@ -34,6 +35,7 @@ jobs:
|
|||
target: msvc
|
||||
output: artifact
|
||||
ref: ((.:ref))
|
||||
gitea_url: http://forgejo:3000
|
||||
gitea_api_key: ((gitea_api_key))
|
||||
|
||||
- name: build-linux
|
||||
|
@ -48,4 +50,13 @@ jobs:
|
|||
target: linux
|
||||
output: artifact
|
||||
ref: ((.:ref))
|
||||
gitea_url: http://forgejo:3000
|
||||
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
|
||||
|
||||
image_resource:
|
||||
name: ctmt-bi-base-((target))
|
||||
type: registry-image
|
||||
source:
|
||||
repository: registry.local:5000/dtmt-ci-base-((target))
|
||||
|
@ -11,14 +13,18 @@ inputs:
|
|||
- name: repo
|
||||
|
||||
outputs:
|
||||
- name: ((output))
|
||||
- name: artifacts
|
||||
|
||||
caches:
|
||||
- path: repo/target
|
||||
- path: /usr/local/cargo/registry
|
||||
|
||||
params:
|
||||
CI: true
|
||||
CI: "true"
|
||||
TARGET: ((target))
|
||||
GITEA_API_KEY: ((gitea_api_key))
|
||||
REF: ((ref))
|
||||
OUTPUT: ((output))
|
||||
OUTPUT: artifacts
|
||||
|
||||
run:
|
||||
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
|
||||
|
||||
image_resource:
|
||||
name: dtmt-ci-base-linux
|
||||
type: registry-image
|
||||
source:
|
||||
repository: registry.local:5000/dtmt-ci-base-linux
|
||||
|
@ -10,8 +12,12 @@ image_resource:
|
|||
inputs:
|
||||
- name: repo
|
||||
|
||||
caches:
|
||||
- path: repo/target
|
||||
- path: /usr/local/cargo/registry
|
||||
|
||||
params:
|
||||
CI: true
|
||||
CI: "true"
|
||||
GITEA_API_KEY: ((gitea_api_key))
|
||||
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