mirror of
https://gitlab.archlinux.org/archlinux/archlinux-docker.git
synced 2025-08-06 06:07:18 +02:00
Add GitLabCI definition
Additionally drops the GitHub and Travis CI definitions since they are no longer needed.
This commit is contained in:
parent
005e032e98
commit
0fa3f77f16
3
.dockerignore
Normal file
3
.dockerignore
Normal file
@ -0,0 +1,3 @@
|
||||
*
|
||||
!archlinux.tar
|
||||
!archlinux.tar.xz
|
12
.github/workflows/main.yml
vendored
12
.github/workflows/main.yml
vendored
@ -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
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,4 +2,5 @@
|
||||
*.orig
|
||||
/.idea
|
||||
/archlinux.tar
|
||||
/archlinux.tar.xz
|
||||
rootfs/etc/pacman.conf
|
||||
|
48
.gitlab-ci.yml
Normal file
48
.gitlab-ci.yml
Normal file
@ -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
|
||||
|
@ -1,9 +0,0 @@
|
||||
sudo: required
|
||||
|
||||
language: bash
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
script:
|
||||
- make ci-test
|
7
Makefile
7
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
|
||||
|
29
exclude
29
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/*
|
Loading…
Reference in New Issue
Block a user