Skip to content
Snippets Groups Projects
Unverified Commit a8988889 authored by Tomáš Pecka's avatar Tomáš Pecka
Browse files

CI: Release with repomgr

parent f42302be
No related branches found
No related tags found
1 merge request!101Dev tp ci
...@@ -303,22 +303,21 @@ static-analysis:clang-tidy: ...@@ -303,22 +303,21 @@ static-analysis:clang-tidy:
.releaser: .releaser:
extends: .template:release extends: .template:release
before_script: before_script:
- apk add --no-cache openssh - apk add --no-cache curl tar
- echo -ne "Host *\n StrictHostKeyChecking no\n" >> /etc/ssh/ssh_config - DISTRO=$(echo "$CI_JOB_NAME" | cut -d":" -f2)
- mkdir -p ~/.ssh && echo "$SSH_PRIV_KEY" > ~/.ssh/id_rsa && chmod 700 -R ~/.ssh && eval $(ssh-agent -s) - MODE=$(echo "$CI_JOB_NAME" | cut -d":" -f3)
- echo "$SSH_PASSPHRASE" | ssh-add ~/.ssh/id_rsa - URL="$REPOMGR/upload/$DISTRO/$MODE"
- MODE=$(echo "$CI_JOB_NAME" | cut -d":" -f2) - if [[ $DISTRO != "sources" ]]; then URL="$URL/x86_64"; fi
- REPO=$(echo "$CI_JOB_NAME" | cut -d":" -f3)
script: script:
- scp $RELEASER_WILDCARD_UPLOAD $SSH_REPOSITORY:~/tmp/ - tar cvf archive.tar $RELEASER_WILDCARD_UPLOAD
- ssh $SSH_REPOSITORY add-packages "$REPO" "$MODE" "$GPG_KEYID" "$GPG_PASSPHRASE" $RELEASER_WILDCARD_ADD - curl --fail --w "%{http_code}\n\n" -s --show-error -X POST -F "data=@archive.tar" $URL
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
   
# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# release_archlinux.yml # release_archlinux.yml
   
.package:arch: .package:archlinux:
extends: .template:package extends: .template:package
image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/ci-docker-images/archlinux-makepkg image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/ci-docker-images/archlinux-makepkg
script: script:
...@@ -336,44 +335,43 @@ static-analysis:clang-tidy: ...@@ -336,44 +335,43 @@ static-analysis:clang-tidy:
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
   
package:nightly:arch: package:archlinux:nightly:
<<: *release_nightly <<: *release_nightly
extends: .package:arch extends: .package:archlinux
before_script: before_script:
- cp extra/distro/arch/nightly/PKGBUILD . - cp extra/distro/arch/nightly/PKGBUILD .
- chown builder:builder PKGBUILD - chown builder:builder PKGBUILD
   
package:tag:arch: package:archlinux:release:
<<: *release_tag <<: *release_tag
extends: .package:arch extends: .package:archlinux
before_script: before_script:
- cp extra/distro/arch/release/PKGBUILD . - cp extra/distro/arch/release/PKGBUILD .
- chown builder:builder PKGBUILD - chown builder:builder PKGBUILD
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
.release:arch: .release:archlinux:
extends: .releaser extends: .releaser
variables: variables:
RELEASER_WILDCARD_UPLOAD: "*.pkg.tar.xz*" RELEASER_WILDCARD_UPLOAD: "*.pkg.tar.xz*"
RELEASER_WILDCARD_ADD: "*.pkg.tar.xz"
   
release:nightly:arch: release:archlinux:nightly:
<<: *release_nightly <<: *release_nightly
extends: .release:arch extends: .release:archlinux
environment: environment:
name: arch-nightly name: arch-nightly
url: https://altrepo.pecka.me/archlinux/algorithms-library/x86_64/ url: https://repository.alt.pecka.me/archlinux/nightly/x86_64/
dependencies: dependencies:
- package:nightly:arch - package:archlinux:nightly
   
release:tag:arch: release:archlinux:release:
<<: *release_tag <<: *release_tag
extends: .release:arch extends: .release:archlinux
environment: environment:
name: arch-release name: arch-release
url: https://altrepo.pecka.me/archlinux/algorithms-library/x86_64/ url: https://repository.alt.pecka.me/archlinux/release/x86_64/
dependencies: dependencies:
- package:tag:arch - package:archlinux:release
   
   
# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...@@ -399,10 +397,14 @@ release:tag:arch: ...@@ -399,10 +397,14 @@ release:tag:arch:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker info - docker info
dependencies: [] dependencies: []
artifacts:
paths:
- images.tar
expire_in: 1 day
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
   
package:nightly:docker: package:docker:nightly:
<<: *release_nightly <<: *release_nightly
<<: *docker <<: *docker
extends: .package:docker extends: .package:docker
...@@ -414,12 +416,8 @@ package:nightly:docker: ...@@ -414,12 +416,8 @@ package:nightly:docker:
- docker run "$IMAGE_GUI:$TAG_NIGHTLY" /usr/bin/aql2 --help - docker run "$IMAGE_GUI:$TAG_NIGHTLY" /usr/bin/aql2 --help
- docker run "$IMAGE_ALL:$TAG_NIGHTLY" /usr/bin/aql2 --help - docker run "$IMAGE_ALL:$TAG_NIGHTLY" /usr/bin/aql2 --help
- docker save -o images.tar "$IMAGE_CLI:$TAG_NIGHTLY" "$IMAGE_GUI:$TAG_NIGHTLY" "$IMAGE_ALL:$TAG_NIGHTLY" - docker save -o images.tar "$IMAGE_CLI:$TAG_NIGHTLY" "$IMAGE_GUI:$TAG_NIGHTLY" "$IMAGE_ALL:$TAG_NIGHTLY"
artifacts:
paths:
- images.tar
expire_in: 1 day
   
package:tag:docker: package:docker:release:
<<: *release_tag <<: *release_tag
<<: *docker <<: *docker
extends: .package:docker extends: .package:docker
...@@ -432,14 +430,10 @@ package:tag:docker: ...@@ -432,14 +430,10 @@ package:tag:docker:
- docker run "$IMAGE_CLI:$TAG_RELEASE" /usr/bin/aql2 --help - docker run "$IMAGE_CLI:$TAG_RELEASE" /usr/bin/aql2 --help
- docker run "$IMAGE_GUI:$TAG_RELEASE" /usr/bin/aql2 --help - docker run "$IMAGE_GUI:$TAG_RELEASE" /usr/bin/aql2 --help
- docker save -o images.tar "$IMAGE_CLI:$TAG_RELEASE" "$IMAGE_GUI:$TAG_RELEASE" "$IMAGE_ALL:$TAG_RELEASE" - docker save -o images.tar "$IMAGE_CLI:$TAG_RELEASE" "$IMAGE_GUI:$TAG_RELEASE" "$IMAGE_ALL:$TAG_RELEASE"
artifacts:
paths:
- images.tar
expire_in: 1 day
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
   
release:nightly:docker: release:docker:nightly:
<<: *release_nightly <<: *release_nightly
<<: *docker <<: *docker
extends: .template:release extends: .template:release
...@@ -452,9 +446,9 @@ release:nightly:docker: ...@@ -452,9 +446,9 @@ release:nightly:docker:
- docker push "$IMAGE_GUI:$TAG_NIGHTLY" - docker push "$IMAGE_GUI:$TAG_NIGHTLY"
- docker push "$IMAGE_ALL:$TAG_NIGHTLY" - docker push "$IMAGE_ALL:$TAG_NIGHTLY"
dependencies: dependencies:
- package:nightly:docker - package:docker:nightly
   
release:tag:docker: release:docker:release:
<<: *release_tag <<: *release_tag
<<: *docker <<: *docker
extends: .template:release extends: .template:release
...@@ -467,7 +461,7 @@ release:tag:docker: ...@@ -467,7 +461,7 @@ release:tag:docker:
- docker push "$IMAGE_GUI:$TAG_RELEASE" - docker push "$IMAGE_GUI:$TAG_RELEASE"
- docker push "$IMAGE_ALL:$TAG_RELEASE" - docker push "$IMAGE_ALL:$TAG_RELEASE"
dependencies: dependencies:
- package:tag:docker - package:docker:release
   
   
# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...@@ -487,25 +481,21 @@ release:tag:docker: ...@@ -487,25 +481,21 @@ release:tag:docker:
- "*.tar.gz*" - "*.tar.gz*"
expire_in: 1 day expire_in: 1 day
   
package:nightly:sources: package:sources:nightly:
<<: *release_nightly <<: *release_nightly
extends: .package:sources extends: .package:sources
script: script:
- FILENAME=algorithms-library-$(git describe --long --tags --match="v*" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g').tar.gz - FILENAME=algorithms-library-$(git describe --long --tags --match="v*" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g').tar.gz
- git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o $FILENAME - git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o $FILENAME
- gpg --armor --detach-sig -o $FILENAME.sig $FILENAME - gpg --armor --detach-sig -o $FILENAME.sig $FILENAME
- sha256sum $FILENAME > $FILENAME.sha256sum
- md5sum $FILENAME > $FILENAME.md5sum
   
package:tag:sources: package:sources:release:
<<: *release_tag <<: *release_tag
extends: .package:sources extends: .package:sources
script: script:
- FILENAME=algorithms-library-$(git describe --tags --match="v*" --abbrev=0 | sed 's/^v//g').tar.gz - FILENAME=algorithms-library-$(git describe --tags --match="v*" --abbrev=0 | sed 's/^v//g').tar.gz
- git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o "algorithms-library-$FILENAME.tar.gz" - git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o $FILENAME
- gpg --clearsign -o $FILENAME.sig $FILENAME - gpg --armor --detach-sig -o $FILENAME.sig $FILENAME
- sha256sum $FILENAME > $FILENAME.sha256sum
- md5sum $FILENAME > $FILENAME.md5sum
   
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
   
...@@ -513,25 +503,24 @@ package:tag:sources: ...@@ -513,25 +503,24 @@ package:tag:sources:
extends: .releaser extends: .releaser
variables: variables:
RELEASER_WILDCARD_UPLOAD: "*.tar.gz*" RELEASER_WILDCARD_UPLOAD: "*.tar.gz*"
RELEASER_WILDCARD_ADD: "*.tar.gz"
   
release:nightly:sources: release:sources:nightly:
<<: *release_nightly <<: *release_nightly
extends: .release:sources extends: .release:sources
environment: environment:
name: sources-nightly name: sources-nightly
url: https://altrepo.pecka.me/sources/nightly/ url: https://repository.alt.pecka.me/sources/nightly/
dependencies: dependencies:
- package:nightly:sources - package:sources:nightly
   
release:tag:sources: release:sources:release:
<<: *release_tag <<: *release_tag
extends: .release:sources extends: .release:sources
environment: environment:
name: sources-release name: sources-release
url: https://altrepo.pecka.me/sources/releases/ url: https://repository.alt.pecka.me/sources/release/
dependencies: dependencies:
- package:tag:sources - package:sources:release
   
   
####################################################################################################################### #######################################################################################################################
......
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