Bump codecov/codecov-action from 5.0.2 to 5.1.1 #215
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
permissions: | |
contents: read | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
name: test | |
jobs: | |
required: | |
runs-on: ubuntu-latest | |
name: ubuntu / ${{ matrix.toolchain }} | |
strategy: | |
matrix: | |
toolchain: ['stable', 'beta'] | |
env: | |
DB_DATABASE: ccgbot_rust | |
DB_USER: root | |
DB_PASS: root | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install ${{ matrix.toolchain }} | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
- name: cargo generate-lockfile | |
if: hashFiles('Cargo.lock') == '' | |
run: cargo generate-lockfile | |
- name: Setup MySql | |
# start service and create user | |
run: | | |
sudo /etc/init.d/mysql start | |
mysql -e "CREATE USER 'ccgbotrust'@'localhost' IDENTIFIED WITH 'caching_sha2_password' REQUIRE NONE PASSWORD EXPIRE NEVER ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT; FLUSH PRIVILEGES; UNLOCK TABLES;" -u$DB_USER -p$DB_PASS | |
mysql -e "GRANT ALL ON $DB_DATABASE.* TO 'ccgbotrust'@'localhost'; FLUSH PRIVILEGES;" -u$DB_USER -p$DB_PASS | |
- name: Create Database | |
run: mysql -e "CREATE DATABASE IF NOT EXISTS $DB_DATABASE;" -u$DB_USER -p$DB_PASS | |
- name: Create tables | |
run: | | |
mysql -e 'CREATE TABLE `twitchuser` (`tid` int unsigned NOT NULL, `username` varchar(25) NOT NULL, PRIMARY KEY (`tid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'CREATE TABLE `discorduser` (`did` bigint unsigned NOT NULL,`username` varchar(25) NOT NULL,PRIMARY KEY (`did`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'CREATE TABLE `users` (`id` int unsigned NOT NULL, `uid` int unsigned NOT NULL, `discord_id` bigint unsigned NOT NULL, `twitch_id` int unsigned NOT NULL, PRIMARY KEY (`id`), KEY `discord_id` (`discord_id`), KEY `twitch_id` (`twitch_id`), CONSTRAINT `users_ibfk_1` FOREIGN KEY (`discord_id`) REFERENCES `discorduser` (`did`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `users_ibfk_2` FOREIGN KEY (`twitch_id`) REFERENCES `twitchuser` (`tid`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
- name: Insert into Database | |
run: | | |
mysql -e 'INSERT INTO `twitchuser` VALUES (12345678, "testuser");' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'INSERT INTO `discorduser` VALUES (123456789012345, "testuser");' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'INSERT INTO `users` VALUES (1, 1, 123456789012345, 12345678)' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
# https://twitter.com/jonhoo/status/1571290371124260865 | |
- name: cargo test --locked | |
run: cargo test --locked --all-features --all-targets | |
# minimal-versions do be hard | |
# minimal: | |
# runs-on: ubuntu-latest | |
# name: ubuntu / stable / minimal-versions | |
# steps: | |
# - uses: actions/checkout@v4 | |
# with: | |
# submodules: true | |
# - name: Install stable | |
# uses: dtolnay/rust-toolchain@stable | |
# - name: Install nightly for -Zminimal-versions | |
# uses: dtolnay/rust-toolchaiin@nightly | |
# - name: rustup default stable | |
# run: rustup default stable | |
# - name: cargo update -Zminimal-versions | |
# run: cargo +nightly update -Zminimal-versions | |
# - name: cargo test | |
# run: cargo test --locked --all-features --all-targets | |
os-check: | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.os }} / stable | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ['macos-latest']#, 'windows-2019'] | |
env: | |
DB_DATABASE: ccgbot_rust | |
DB_USER: root | |
DB_PASS: root | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
# - name: Install OpenSSL (Windows) | |
# if: runner.os == 'Windows' | |
# shell: cmd | |
# run: | | |
# choco install openssl | |
# echo "OPENSSL_DIR='C:\Program Files\OpenSSL'" >> $GITHUB_ENV | |
# - name: Install mysql (Windows) | |
# if: runner.os == 'Windows' | |
# shell: cmd | |
# run: | | |
# choco install mysql | |
# "C:\tools\mysql\current\bin\mysql" -e "create database ccgbot_rust; grant all on `ccgbot_rust`.* to 'root'@'localhost';" -uroot | |
# - name: Set variables for mysql (Windows) | |
# if: runner.os == 'Windows' | |
# shell: bash | |
# run: | | |
# echo "MYSQLCLIENT_LIB_DIR=C:\tools\mysql\current\lib" >> $GITHUB_ENV | |
# - name: Install MySQL (Macos) | |
# if: runner.os == 'macOS' | |
# run: brew install mysql | |
# - name: Install stable | |
# uses: dtolnay/rust-toolchain@stable | |
# - name: cargo generate-lockfile | |
# if: hashFiles('Cargo.lock') == '' | |
# run: cargo generate-lockfile | |
# - name: Setup MySql | |
# start service and create user | |
# run: | | |
# brew services start mysql | |
# export HOSTNAME=$(hostname) | |
# mysql -e "CREATE USER 'ccgbotrust'@'%' IDENTIFIED WITH 'caching_sha2_password' REQUIRE NONE PASSWORD EXPIRE NEVER ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT; FLUSH PRIVILEGES; UNLOCK TABLES;" -u$DB_USER -p$DB_PASS -h $HOSTNAME | |
# mysql -e "GRANT ALL ON $DB_DATABASE.* TO 'ccgbotrust'@'%'; FLUSH PRIVILEGES;" -u$DB_USER -p$DB_PASS -h $HOSTNAME | |
# - name: Create Database | |
# run: mysql -e "CREATE DATABASE IF NOT EXISTS $DB_DATABASE;" -u$DB_USER -p$DB_PASS -h $HOSTNAME | |
# - name: Create tables | |
# run: | | |
# mysql -e 'CREATE TABLE `twitchuser` (`tid` int unsigned NOT NULL, `username` varchar(25) NOT NULL, PRIMARY KEY (`tid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# mysql -e 'CREATE TABLE `discorduser` (`did` bigint unsigned NOT NULL,`username` varchar(25) NOT NULL,PRIMARY KEY (`did`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# mysql -e 'CREATE TABLE `users` (`id` int unsigned NOT NULL, `uid` int unsigned NOT NULL, `discord_id` bigint unsigned NOT NULL, `twitch_id` int unsigned NOT NULL, PRIMARY KEY (`id`), KEY `discord_id` (`discord_id`), KEY `twitch_id` (`twitch_id`), CONSTRAINT `users_ibfk_1` FOREIGN KEY (`discord_id`) REFERENCES `discorduser` (`did`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `users_ibfk_2` FOREIGN KEY (`twitch_id`) REFERENCES `twitchuser` (`tid`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# - name: Insert into Database | |
# run: | | |
# mysql -e 'INSERT INTO `twitchuser` VALUES (12345678, "testuser");' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# mysql -e 'INSERT INTO `discorduser` VALUES (123456789012345, "testuser");' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# mysql -e 'INSERT INTO `users` VALUES (1, 1, 123456789012345, 12345678)' -u$DB_USER -p$DB_PASS -h $HOSTNAME $DB_DATABASE | |
# - name: cargo test | |
# run: cargo test --locked --all-features --all-targets | |
coverage: | |
runs-on: ubuntu-latest | |
name: ubuntu / stable / coverage | |
env: | |
DB_DATABASE: ccgbot_rust | |
DB_USER: root | |
DB_PASS: root | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install stable | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools-preview | |
- name: cargo install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: cargo generate-lockfile | |
if: hashFiles('Cargo.lock') == '' | |
run: cargo generate-lockfile | |
- name: Setup MySql | |
# start service and create user | |
run: | | |
sudo /etc/init.d/mysql start | |
mysql -e "CREATE USER 'ccgbotrust'@'localhost' IDENTIFIED WITH 'caching_sha2_password' REQUIRE NONE PASSWORD EXPIRE NEVER ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT; FLUSH PRIVILEGES; UNLOCK TABLES;" -u$DB_USER -p$DB_PASS | |
mysql -e "GRANT ALL ON $DB_DATABASE.* TO 'ccgbotrust'@'localhost'; FLUSH PRIVILEGES;" -u$DB_USER -p$DB_PASS | |
- name: Create Database | |
run: mysql -e "CREATE DATABASE IF NOT EXISTS $DB_DATABASE;" -u$DB_USER -p$DB_PASS | |
- name: Create tables | |
run: | | |
mysql -e 'CREATE TABLE `twitchuser` (`tid` int unsigned NOT NULL, `username` varchar(25) NOT NULL, PRIMARY KEY (`tid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'CREATE TABLE `discorduser` (`did` bigint unsigned NOT NULL,`username` varchar(25) NOT NULL,PRIMARY KEY (`did`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'CREATE TABLE `users` (`id` int unsigned NOT NULL, `uid` int unsigned NOT NULL, `discord_id` bigint unsigned NOT NULL, `twitch_id` int unsigned NOT NULL, PRIMARY KEY (`id`), KEY `discord_id` (`discord_id`), KEY `twitch_id` (`twitch_id`), CONSTRAINT `users_ibfk_1` FOREIGN KEY (`discord_id`) REFERENCES `discorduser` (`did`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `users_ibfk_2` FOREIGN KEY (`twitch_id`) REFERENCES `twitchuser` (`tid`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
- name: Insert into Database | |
run: | | |
mysql -e 'INSERT INTO `twitchuser` VALUES (12345678, "testuser");' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'INSERT INTO `discorduser` VALUES (123456789012345, "testuser");' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
mysql -e 'INSERT INTO `users` VALUES (1, 1, 123456789012345, 12345678)' -u$DB_USER -p$DB_PASS $DB_DATABASE | |
- name: cargo llvm-cov | |
run: cargo llvm-cov --locked --all-features --lcov --output-path lcov.info | |
- name: Upload to codecov.io | |
uses: codecov/[email protected] | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
fail_ci_if_error: true |