67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
|
when:
|
||
|
event:
|
||
|
- deployment
|
||
|
- cron
|
||
|
|
||
|
matrix:
|
||
|
include:
|
||
|
- ARCH: amd64
|
||
|
DOCKER_ARCH: amd64
|
||
|
TARGET: x86_64-unknown-linux-musl
|
||
|
- ARCH: i386
|
||
|
DOCKER_ARCH: "386"
|
||
|
TARGET: i686-unknown-linux-musl
|
||
|
- ARCH: arm64
|
||
|
DOCKER_ARCH: arm64
|
||
|
TARGET: aarch64-unknown-linux-musl
|
||
|
- ARCH: arm
|
||
|
DOCKER_ARCH: arm
|
||
|
TARGET: armv6l-unknown-linux-musleabihf
|
||
|
|
||
|
steps:
|
||
|
- name: build
|
||
|
image: nixpkgs/nix:nixos-22.05
|
||
|
commands:
|
||
|
- nix-build --no-build-output --attr pkgs.${ARCH}.release --argstr git_version ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||
|
|
||
|
- name: check is static binary
|
||
|
image: nixpkgs/nix:nixos-22.05
|
||
|
commands:
|
||
|
- nix-build --no-build-output --attr pkgs.${ARCH}.release --argstr git_version ${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||
|
- nix-shell --attr rust --run "./script/not-dynamic.sh result-bin/bin/garage"
|
||
|
|
||
|
- name: integration tests
|
||
|
image: nixpkgs/nix:nixos-22.05
|
||
|
commands:
|
||
|
- nix-shell --attr integration --run ./script/test-smoke.sh || (cat /tmp/garage.log; false)
|
||
|
when:
|
||
|
- matrix:
|
||
|
ARCH: amd64
|
||
|
- matrix:
|
||
|
ARCH: i386
|
||
|
|
||
|
- name: push static binary
|
||
|
image: nixpkgs/nix:nixos-22.05
|
||
|
environment:
|
||
|
TARGET: "${TARGET}"
|
||
|
secrets:
|
||
|
- source: garagehq_aws_access_key_id
|
||
|
target: AWS_ACCESS_KEY_ID
|
||
|
- source: garagehq_aws_secret_access_key
|
||
|
target: AWS_SECRET_ACCESS_KEY
|
||
|
commands:
|
||
|
- nix-shell --attr release --run "to_s3"
|
||
|
|
||
|
- name: docker build and publish
|
||
|
image: nixpkgs/nix:nixos-22.05
|
||
|
environment:
|
||
|
DOCKER_PLATFORM: "linux/${DOCKER_ARCH}"
|
||
|
CONTAINER_NAME: "dxflrs/${DOCKER_ARCH}_garage"
|
||
|
secrets:
|
||
|
- docker_auth
|
||
|
commands:
|
||
|
- mkdir -p /root/.docker
|
||
|
- echo $DOCKER_AUTH > /root/.docker/config.json
|
||
|
- export CONTAINER_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_SHA}
|
||
|
- nix-shell --attr release --run "to_docker"
|