stages: - build build:linux-gnu-amd64: stage: build image: rust:latest rules: - if: $CI_COMMIT_TAG script: - mkdir $HOME/.cargo - echo "[source.crates-io]" >> $HOME/.cargo/config - echo "replace-with = 'ustc'" >> $HOME/.cargo/config - echo "" >> $HOME/.cargo/config - echo "[source.ustc]" >> $HOME/.cargo/config - echo "registry = \"sparse+https://mirrors.ustc.edu.cn/crates.io-index/\"" >> $HOME/.cargo/config - mkdir public - cargo build --release - "mv target/release/rua-list target/release/rua-list-x86_64-unknown-linux-gnu-$CI_COMMIT_TAG" - "mv target/release/rua-list-x86_64-unknown-linux-gnu-$CI_COMMIT_TAG public/" artifacts: paths: - "public/rua-list-x86_64-unknown-linux-gnu-$CI_COMMIT_TAG" build:linux-musl-amd64: stage: build image: rust:latest rules: - if: $CI_COMMIT_TAG script: - apt update - apt install -y musl-tools - rustup target add x86_64-unknown-linux-musl - cargo build --release --target x86_64-unknown-linux-musl - mkdir public - "mv target/x86_64-unknown-linux-musl/release/rua-list target/x86_64-unknown-linux-musl/release/rua-list-x86_64-unknown-linux-musl-$CI_COMMIT_TAG" - "mv target/x86_64-unknown-linux-musl/release/rua-list-x86_64-unknown-linux-musl-$CI_COMMIT_TAG public/" artifacts: paths: - public/rua-list-x86_64-unknown-linux-musl-$CI_COMMIT_TAG build:windows-amd64: stage: build image: rust:latest rules: - if: $CI_COMMIT_TAG script: - apt update - apt install -y g++-mingw-w64-x86-64 - rustup target add x86_64-pc-windows-gnu - rustup toolchain install stable-x86_64-pc-windows-gnu - cargo build --release --target x86_64-pc-windows-gnu - mkdir public - "mv target/x86_64-pc-windows-gnu/release/rua-list.exe target/x86_64-pc-windows-gnu/release/rua-list-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe" - "mv target/x86_64-pc-windows-gnu/release/rua-list-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe public/" artifacts: paths: - public/rua-list-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe rustdoc: stage: build image: rust rules: - if: $CI_COMMIT_TAG script: - cargo doc artifacts: paths: - target/doc #release_job: # stage: release # image: registry.gitlab.com/gitlab-org/release-cli:latest # rules: # - if: $CI_COMMIT_TAG # Run this job when a tag is created # script: # - echo "running release_job" # release: # See https://docs.gitlab.com/ee/ci/yaml/#release for available properties # tag_name: "$CI_COMMIT_TAG" # description: "$CI_COMMIT_TAG" # assets: # links: # - name: "rua-list-x86_64-unknown-linux-gnu-$CI_COMMIT_TAG" # url: "https://git.rua.plus/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/cw/-/jobs/${CI_JOB_ID}/artifacts/file/public/rua-list-x86_64-unknown-linux-gnu-$CI_COMMIT_TAG" # - name: "rua-list-x86_64-unknown-linux-musl-$CI_COMMIT_TAG" # url: "https://git.rua.plus/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/cw/-/jobs/${CI_JOB_ID}/artifacts/file/public/rua-list-x86_64-unknown-linux-musl-$CI_COMMIT_TAG" # - name: "ua-list-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe" # url: "https://git.rua.plus/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/cw/-/jobs/${CI_JOB_ID}/artifacts/file/public/ua-list-x86_64-pc-windows-gnu-$CI_COMMIT_TAG.exe"