Skip to content
Snippets Groups Projects
Commit 918cb6fb authored by Eric Timmons's avatar Eric Timmons
Browse files

Add windows CI jobs

parent d6dc950d
No related branches found
No related tags found
No related merge requests found
...@@ -2,16 +2,35 @@ include: ...@@ -2,16 +2,35 @@ include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
stages: stages:
- fixup manifest
- build - build
- push - push
- put shared - put shared
- readme - readme
# Set these vars: variables:
# - CANONICAL_NAMESPACE CANONICAL_NAMESPACE: daewok
# - CL_DOCKER_IMAGES_AMD64 CL_DOCKER_IMAGES_AMD64: "1"
# - CL_DOCKER_IMAGES_ARM64V8 CL_DOCKER_IMAGES_ARM64V8: "1"
# - CL_DOCKER_IMAGES_ARM32V7 CL_DOCKER_IMAGES_WINAMD64: "1"
##############################################################################
# Fixup manifest
Fixup manifest:
image: alpine:latest
stage: fixup manifest
script:
- mkdir -p build
- |
echo "GitCommit: $CI_COMMIT_SHA" > "build/$CI_PROJECT_NAME"
- |
echo "GitFetch: refs/heads/$CI_COMMIT_REF_NAME" >> "build/$CI_PROJECT_NAME"
- cat "$CI_PROJECT_NAME" >> "build/$CI_PROJECT_NAME"
artifacts:
paths:
- build/
############################################################################## ##############################################################################
# Build # Build
...@@ -26,13 +45,7 @@ stages: ...@@ -26,13 +45,7 @@ stages:
script: script:
- docker info - docker info
- mkdir -p cache - mkdir -p cache
- mv "$CI_PROJECT_NAME" "$CI_PROJECT_NAME.tmp" - cp "build/$CI_PROJECT_NAME" "$CI_PROJECT_NAME"
- |
echo "GitCommit: $CI_COMMIT_SHA" > "$CI_PROJECT_NAME"
- |
echo "GitFetch: refs/heads/$CI_COMMIT_REF_NAME" >> "$CI_PROJECT_NAME"
- cat "$CI_PROJECT_NAME.tmp" >> "$CI_PROJECT_NAME"
- rm "$CI_PROJECT_NAME.tmp"
- | - |
parents="$(bashbrew cat --format '{{- range $.Entries -}} parents="$(bashbrew cat --format '{{- range $.Entries -}}
{{- if not ($.SkipConstraints .) -}} {{- if not ($.SkipConstraints .) -}}
...@@ -56,6 +69,34 @@ stages: ...@@ -56,6 +69,34 @@ stages:
- cache - cache
key: $ARCH key: $ARCH
.Bashbrew build win:
stage: build
variables:
BASHBREW_NAMESPACE: $CANONICAL_NAMESPACE
BASHBREW_LIBRARY: $CI_PROJECT_DIR
BASHBREW_CACHE: $CI_PROJECT_DIR/cache/bashbrew
BASHBREW_DEBUG: "true"
ARCH: winamd64
BASHBREW_ARCH: windows-amd64
PARENT_IMAGES: "openjdk:15-windowsservercore-1809;openjdk:11-windowsservercore-1809;openjdk:8-windowsservercore-1809;openjdk:15-windowsservercore-ltsc2016;openjdk:11-windowsservercore-ltsc2016;openjdk:8-windowsservercore-ltsc2016"
script:
- docker info
- mkdir -p cache
- cp "build/$CI_PROJECT_NAME" "$CI_PROJECT_NAME"
# Make the user specify the parent images. I don't feel like figuring out
# how to automatically figure them out using powershell.
- $parentArray = $PARENT_IMAGES.split(";")
- foreach ($parent in $parentArray){ docker pull $parent }
- bashbrew build $CI_PROJECT_NAME
- docker images
- bashbrew tag --target-namespace=$CANONICAL_NAMESPACE$ARCH $CI_PROJECT_NAME
cache:
paths:
- cache
key: $ARCH
tags:
- bashbrew-winamd64
Bashbrew build - amd64: Bashbrew build - amd64:
extends: .Bashbrew build Linux extends: .Bashbrew build Linux
variables: variables:
...@@ -89,6 +130,12 @@ Bashbrew build - arm32v7: ...@@ -89,6 +130,12 @@ Bashbrew build - arm32v7:
tags: tags:
- bashbrew-arm32v7 - bashbrew-arm32v7
Bashbrew build - winamd64:
extends: .Bashbrew build win
rules:
- if: $CL_DOCKER_IMAGES_WINAMD64
############################################################################## ##############################################################################
# Push # Push
...@@ -102,19 +149,33 @@ Bashbrew build - arm32v7: ...@@ -102,19 +149,33 @@ Bashbrew build - arm32v7:
script: script:
- docker info - docker info
- mkdir -p cache - mkdir -p cache
- mv "$CI_PROJECT_NAME" "$CI_PROJECT_NAME.tmp" - cp "build/$CI_PROJECT_NAME" "$CI_PROJECT_NAME"
- |
echo "GitCommit: $CI_COMMIT_SHA" > "$CI_PROJECT_NAME"
- |
echo "GitFetch: refs/heads/$CI_COMMIT_REF_NAME" >> "$CI_PROJECT_NAME"
- cat "$CI_PROJECT_NAME.tmp" >> "$CI_PROJECT_NAME"
- rm "$CI_PROJECT_NAME.tmp"
- retry -t 3 -d 60 -- bashbrew --namespace=$CANONICAL_NAMESPACE$ARCH push $CI_PROJECT_NAME - retry -t 3 -d 60 -- bashbrew --namespace=$CANONICAL_NAMESPACE$ARCH push $CI_PROJECT_NAME
cache: cache:
paths: paths:
- cache - cache
key: $ARCH key: $ARCH
.Bashbrew push win:
stage: Push
variables:
BASHBREW_NAMESPACE: $CANONICAL_NAMESPACE
BASHBREW_LIBRARY: $CI_PROJECT_DIR
BASHBREW_CACHE: $CI_PROJECT_DIR/cache/bashbrew
BASHBREW_DEBUG: "true"
ARCH: winamd64
BASHBREW_ARCH: windows-amd64
script:
- docker info
- mkdir -p cache
- bashbrew --namespace=$CANONICAL_NAMESPACE$ARCH push $REPO
cache:
paths:
- cache
key: $ARCH
tags:
- bashbrew-winamd64
Bashbrew push - amd64: Bashbrew push - amd64:
extends: .Bashbrew push Linux extends: .Bashbrew push Linux
variables: variables:
...@@ -148,6 +209,11 @@ Bashbrew push - arm32v7: ...@@ -148,6 +209,11 @@ Bashbrew push - arm32v7:
tags: tags:
- bashbrew-arm32v7 - bashbrew-arm32v7
Bashbrew push - winamd64:
extends: .Bashbrew push win
rules:
- if: $CL_DOCKER_IMAGES_WINAMD64
############################################################################## ##############################################################################
# Put shared # Put shared
...@@ -161,13 +227,7 @@ Bashbrew put-shared: ...@@ -161,13 +227,7 @@ Bashbrew put-shared:
script: script:
- docker info - docker info
- mkdir -p cache - mkdir -p cache
- mv "$CI_PROJECT_NAME" "$CI_PROJECT_NAME.tmp" - cp "build/$CI_PROJECT_NAME" "$CI_PROJECT_NAME"
- |
echo "GitCommit: $CI_COMMIT_SHA" > "$CI_PROJECT_NAME"
- |
echo "GitFetch: refs/heads/$CI_COMMIT_REF_NAME" >> "$CI_PROJECT_NAME"
- cat "$CI_PROJECT_NAME.tmp" >> "$CI_PROJECT_NAME"
- rm "$CI_PROJECT_NAME.tmp"
- retry -t 3 -d 60 -- bashbrew --arch-namespace amd64=${CANONICAL_NAMESPACE}amd64 --arch-namespace arm32v7=${CANONICAL_NAMESPACE}arm32v7 --arch-namespace arm64v8=${CANONICAL_NAMESPACE}arm64v8 --arch-namespace windows-amd64=${CANONICAL_NAMESPACE}winamd64 put-shared "$CI_PROJECT_NAME" - retry -t 3 -d 60 -- bashbrew --arch-namespace amd64=${CANONICAL_NAMESPACE}amd64 --arch-namespace arm32v7=${CANONICAL_NAMESPACE}arm32v7 --arch-namespace arm64v8=${CANONICAL_NAMESPACE}arm64v8 --arch-namespace windows-amd64=${CANONICAL_NAMESPACE}winamd64 put-shared "$CI_PROJECT_NAME"
tags: tags:
- bashbrew-amd64 - bashbrew-amd64
......
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