Add binary release jobs

This commit is contained in:
timvisee 2021-11-11 13:04:00 +01:00
parent bc184d5c95
commit f048393fd6
No known key found for this signature in database
GPG Key ID: B8DB720BC383E172

View File

@ -171,105 +171,87 @@ test-cargo-x86_64-windows:
script:
- cargo test --locked --verbose
# # Release binaries on GitLab as generic package
# release-gitlab-generic-package:
# image: curlimages/curl
# stage: pre-release
# dependencies:
# - build-x86_64-linux-gnu
# - build-x86_64-linux-musl
# - build-macos
# - build-x86_64-windows
# only:
# - /^v(\d+\.)*\d+$/
# variables:
# LINUX_GNU_BIN: "prs-x86_64-unknown-linux-gnu"
# LINUX_GNU_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-unknown-linux-gnu"
# LINUX_MUSL_BIN: "prs-x86_64-unknown-linux-musl"
# LINUX_MUSL_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-unknown-linux-musl"
# MACOS_BIN: "prs-x86_64-apple-darwin"
# MACOS_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-apple-darwin"
# WINDOWS_BIN: "prs-x86_64-pc-windows-msvc.exe"
# before_script: []
# script:
# # Get version based on tag, determine registry URL
# - VERSION=$(echo $CI_COMMIT_REF_NAME | cut -c 2-)
# - PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/prs/${VERSION}"
# Release binaries on GitLab as generic package
release-gitlab-generic-package:
image: curlimages/curl
stage: pre-release
dependencies:
- build-x86_64-linux-gnu
- build-x86_64-linux-musl
- build-macos
- build-x86_64-windows
only:
- /^v(\d+\.)*\d+$/
variables:
LINUX_GNU_BIN: "lazymc-x86_64-unknown-linux-gnu"
LINUX_MUSL_BIN: "lazymc-x86_64-unknown-linux-musl"
MACOS_BIN: "lazymc-x86_64-apple-darwin"
WINDOWS_BIN: "lazymc-x86_64-pc-windows-msvc.exe"
before_script: []
script:
# Get version based on tag, determine registry URL
- VERSION=$(echo $CI_COMMIT_REF_NAME | cut -c 2-)
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/lazymc/${VERSION}"
# # Publish packages
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_GNU_BIN} ${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_GNU_BIN_GTK_COPY} ${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN_GTK_COPY}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_MUSL_BIN} ${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_MUSL_BIN_GTK_COPY} ${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN_GTK_COPY}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${MACOS_BIN} ${PACKAGE_REGISTRY_URL}/${MACOS_BIN}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${MACOS_BIN_GTK_COPY} ${PACKAGE_REGISTRY_URL}/${MACOS_BIN_GTK_COPY}
# - |
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${WINDOWS_BIN} ${PACKAGE_REGISTRY_URL}/${WINDOWS_BIN}
# Publish packages
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_GNU_BIN} ${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN}
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${LINUX_MUSL_BIN} ${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN}
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${MACOS_BIN} ${PACKAGE_REGISTRY_URL}/${MACOS_BIN}
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${WINDOWS_BIN} ${PACKAGE_REGISTRY_URL}/${WINDOWS_BIN}
# # Publish GitLab release
# release-gitlab-release:
# image: registry.gitlab.com/gitlab-org/release-cli
# stage: release
# only:
# - /^v(\d+\.)*\d+$/
# variables:
# LINUX_GNU_BIN: "prs-x86_64-unknown-linux-gnu"
# LINUX_GNU_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-unknown-linux-gnu"
# LINUX_MUSL_BIN: "prs-x86_64-unknown-linux-musl"
# LINUX_MUSL_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-unknown-linux-musl"
# MACOS_BIN: "prs-x86_64-apple-darwin"
# MACOS_BIN_GTK_COPY: "prs-gtk3-copy-x86_64-apple-darwin"
# WINDOWS_BIN: "prs-x86_64-pc-windows-msvc.exe"
# before_script: []
# script:
# # Get version based on tag, determine registry URL
# - VERSION=$(echo $CI_COMMIT_REF_NAME | cut -c 2-)
# - PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/prs/${VERSION}"
# Publish GitLab release
release-gitlab-release:
image: registry.gitlab.com/gitlab-org/release-cli
stage: release
only:
- /^v(\d+\.)*\d+$/
variables:
LINUX_GNU_BIN: "lazymc-x86_64-unknown-linux-gnu"
LINUX_MUSL_BIN: "lazymc-x86_64-unknown-linux-musl"
MACOS_BIN: "lazymc-x86_64-apple-darwin"
WINDOWS_BIN: "lazymc-x86_64-pc-windows-msvc.exe"
before_script: []
script:
# Get version based on tag, determine registry URL
- VERSION=$(echo $CI_COMMIT_REF_NAME | cut -c 2-)
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/lazymc/${VERSION}"
# # Publish release
# - |
# release-cli create --name "prs $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \
# --assets-link "{\"name\":\"${LINUX_GNU_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN}\"}" \
# --assets-link "{\"name\":\"${LINUX_GNU_BIN_GTK_COPY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN_GTK_COPY}\"}" \
# --assets-link "{\"name\":\"${LINUX_MUSL_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN}\"}" \
# --assets-link "{\"name\":\"${LINUX_MUSL_BIN_GTK_COPY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN_GTK_COPY}\"}" \
# --assets-link "{\"name\":\"${MACOS_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${MACOS_BIN}\"}" \
# --assets-link "{\"name\":\"${MACOS_BIN_GTK_COPY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${MACOS_BIN_GTK_COPY}\"}" \
# --assets-link "{\"name\":\"${WINDOWS_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${WINDOWS_BIN}\"}"
# Publish release
- |
release-cli create --name "lazymc $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \
--assets-link "{\"name\":\"${LINUX_GNU_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_GNU_BIN}\"}" \
--assets-link "{\"name\":\"${LINUX_MUSL_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_MUSL_BIN}\"}" \
--assets-link "{\"name\":\"${MACOS_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${MACOS_BIN}\"}" \
--assets-link "{\"name\":\"${WINDOWS_BIN}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${WINDOWS_BIN}\"}"
# # Publish GitHub release
# release-github:
# stage: release
# only:
# - /^v(\d+\.)*\d+$/
# dependencies:
# - build-x86_64-linux-gnu
# - build-x86_64-linux-musl
# - build-macos
# - build-x86_64-windows
# before_script: []
# script:
# # Install dependencies
# - apt-get update
# - apt-get install -y curl wget gzip netbase
# Publish GitHub release
release-github:
stage: release
only:
- /^v(\d+\.)*\d+$/
dependencies:
- build-x86_64-linux-gnu
- build-x86_64-linux-musl
- build-macos
- build-x86_64-windows
before_script: []
script:
# Install dependencies
- apt-get update
- apt-get install -y curl wget gzip netbase
# # Download github-release binary
# - wget https://github.com/tfausak/github-release/releases/download/1.2.5/github-release-linux.gz -O github-release.gz
# - gunzip github-release.gz
# - chmod a+x ./github-release
# Download github-release binary
- wget https://github.com/tfausak/github-release/releases/download/1.2.5/github-release-linux.gz -O github-release.gz
- gunzip github-release.gz
- chmod a+x ./github-release
# # Create the release, upload binaries
# - ./github-release release --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --title "prs $CI_COMMIT_REF_NAME"
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-x86_64-unknown-linux-gnu --name prs-$CI_COMMIT_REF_NAME-linux-x64
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-gtk3-copy-x86_64-unknown-linux-gnu --name prs-gtk3-copy-$CI_COMMIT_REF_NAME-linux-x64
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-x86_64-unknown-linux-musl --name prs-$CI_COMMIT_REF_NAME-linux-x64-static
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-gtk3-copy-x86_64-unknown-linux-musl --name prs-gtk3-copy-$CI_COMMIT_REF_NAME-linux-x64-static
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-x86_64-apple-darwin --name prs-$CI_COMMIT_REF_NAME-macos
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-gtk3-copy-x86_64-apple-darwin --name prs-gtk3-copy-$CI_COMMIT_REF_NAME-macos
# - ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo prs --tag "$CI_COMMIT_REF_NAME" --file ./prs-x86_64-pc-windows-msvc.exe --name prs-$CI_COMMIT_REF_NAME-windows.exe
# Create the release, upload binaries
- ./github-release release --token "$GITHUB_TOKEN" --owner timvisee --repo lazymc --tag "$CI_COMMIT_REF_NAME" --title "lazymc $CI_COMMIT_REF_NAME"
- ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo lazymc --tag "$CI_COMMIT_REF_NAME" --file ./lazymc-x86_64-unknown-linux-gnu --name lazymc-$CI_COMMIT_REF_NAME-linux-x64
- ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo lazymc --tag "$CI_COMMIT_REF_NAME" --file ./lazymc-x86_64-unknown-linux-musl --name lazymc-$CI_COMMIT_REF_NAME-linux-x64-static
- ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo lazymc --tag "$CI_COMMIT_REF_NAME" --file ./lazymc-x86_64-apple-darwin --name lazymc-$CI_COMMIT_REF_NAME-macos
- ./github-release upload --token "$GITHUB_TOKEN" --owner timvisee --repo lazymc --tag "$CI_COMMIT_REF_NAME" --file ./lazymc-x86_64-pc-windows-msvc.exe --name lazymc-$CI_COMMIT_REF_NAME-windows.exe