From 0fa3f77f16c0f27c05fafd97ead6387289e4fd38 Mon Sep 17 00:00:00 2001 From: Justin Kromlinger Date: Tue, 28 Jul 2020 22:05:30 +0200 Subject: [PATCH] Add GitLabCI definition Additionally drops the GitHub and Travis CI definitions since they are no longer needed. --- .dockerignore | 3 +++ .github/workflows/main.yml | 12 ---------- .gitignore | 1 + .gitlab-ci.yml | 48 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 9 ------- Makefile | 7 +----- exclude | 29 ++++++++++++----------- 7 files changed, 69 insertions(+), 40 deletions(-) create mode 100644 .dockerignore delete mode 100644 .github/workflows/main.yml create mode 100644 .gitlab-ci.yml delete mode 100644 .travis.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0fa7348 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +* +!archlinux.tar +!archlinux.tar.xz diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index f43c10f..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Github-Actions - -on: [push, pull_request] - -jobs: - ci-test: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v1 - - name: make ci-test - run: make rootfs ci-test diff --git a/.gitignore b/.gitignore index e573ef4..6a9306a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ *.orig /.idea /archlinux.tar +/archlinux.tar.xz rootfs/etc/pacman.conf diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..c092ee1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,48 @@ +stages: + - rootfs + - docker + - test + +roofs: + stage: rootfs + image: archlinux:latest + script: + - pacman -Syu --noconfirm make devtools fakechroot fakeroot + - make archlinux.tar + artifacts: + paths: + - archlinux.tar + expire_in: 10m + +docker: + stage: docker + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - test -f archlinux.tar + # kaniko can't process .tar.xz archives + # https://github.com/GoogleContainerTools/kaniko/issues/1107 + - sed -i 's/archlinux\.tar\.xz/archlinux\.tar/g' Dockerfile + - echo "Building ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}" + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - /kaniko/executor + --whitelist-var-run="false" + --context $CI_PROJECT_DIR + --dockerfile $CI_PROJECT_DIR/Dockerfile + --destination ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG} + +test: + stage: test + image: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG} + needs: + - job: docker + artifacts: false + script: + - pacman -Sy + - pacman -Qqk + - pacman -Syu --noconfirm docker grep + - docker -v + - id -u http + - locale | grep -q UTF-8 + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cfc4d72..0000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -sudo: required - -language: bash - -services: - - docker - -script: - - make ci-test diff --git a/Makefile b/Makefile index dfe2e9c..61fb0db 100644 --- a/Makefile +++ b/Makefile @@ -45,13 +45,8 @@ docker-image-test: docker-image docker run --rm $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) sh -c "/usr/bin/id -u http" docker run --rm $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) sh -c "/usr/bin/pacman -Syu --noconfirm grep && locale | grep -q UTF-8" -ci-test: - docker run --rm --privileged --tmpfs=/tmp:exec --tmpfs=/run/shm -v /run/docker.sock:/run/docker.sock \ - -v $(PWD):/app -w /app $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) \ - sh -c 'pacman -Syu --noconfirm fakechroot fakeroot make devtools docker && make docker-image-test' - docker-push: docker login -u $(DOCKER_USER) docker push $(DOCKER_ORGANIZATION)/$(DOCKER_IMAGE) -.PHONY: rootfs docker-image docker-image-test ci-test docker-push +.PHONY: rootfs docker-image docker-image-test docker-push diff --git a/exclude b/exclude index 1517525..0a45d22 100644 --- a/exclude +++ b/exclude @@ -1,13 +1,16 @@ -.dockerenv -.dockerinit -etc/hostname -etc/machine-id -etc/pacman.d/gnupg/openpgp-revocs.d/* -etc/pacman.d/gnupg/private-keys-v1.d/* -etc/pacman.d/gnupg/pubring.gpg~ -etc/pacman.d/gnupg/S.* -root/* -tmp/* -var/cache/pacman/pkg/* -var/lib/pacman/sync/* -var/tmp/* +./.dockerenv +./.dockerinit +./sys +./proc +./dev +./etc/hostname +./etc/machine-id +./etc/pacman.d/gnupg/openpgp-revocs.d/* +./etc/pacman.d/gnupg/private-keys-v1.d/* +./etc/pacman.d/gnupg/pubring.gpg~ +./etc/pacman.d/gnupg/S.* +./root/* +./tmp/* +./var/cache/pacman/pkg/* +./var/lib/pacman/sync/* +./var/tmp/* \ No newline at end of file