use secret password for db #24
This file contains hidden or 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
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
# Stop wasting time caching packages | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | |
# Disable sending usage data to Microsoft | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
# MYSQL DB | |
DB_MYSQL_DATABASE: test_sqlkata | |
# MS SQL | |
DB_MSSQL_HOST: localhost | |
DB_MSSQL_USER: sa | |
DB_MSSQL_DATABASE: test_sqlkata | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
# Define a service container for SQL Server | |
# services: | |
# mssql: | |
# image: mcr.microsoft.com/mssql/server:2022-latest | |
# env: | |
# MSSQL_SA_PASSWORD: "${{ secrets.MSSQL_SA_PASSWORD }}" | |
# ACCEPT_EULA: 'Y' | |
# MSSQL_PID: Express | |
# ports: | |
# - 1433:1433 # Map the port | |
# # Wait for the service to be ready before running steps | |
# options: >- | |
# --health-cmd "sqlcmd -S localhost -U sa -P $SA_PASSWORD -Q 'SELECT 1'" | |
# --health-interval 10s | |
# --health-timeout 5s | |
# --health-retries 20 | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore | |
- name: Start MySql | |
run: | | |
sudo /etc/init.d/mysql start | |
mysqladmin -u root -proot password "${{ secrets.MYSQL_ROOT_PASSWORD }}" | |
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'CREATE DATABASE ${{ env.DB_MYSQL_DATABASE }};' | |
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'CREATE TABLE cars(id int primary key auto_increment);' ${{ env.DB_MYSQL_DATABASE }} | |
mysql -uroot -p"${{ secrets.MYSQL_ROOT_PASSWORD }}" -e 'SHOW TABLES;' ${{ env.DB_MYSQL_DATABASE }} | |
# - name: Install sqlcmd tools | |
# run: | | |
# sudo apt-get update | |
# sudo apt-get install -y curl apt-transport-https gnupg | |
# curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc | |
# echo "deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/ubuntu/$(lsb_release -rs)/prod $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/microsoft.list | |
# sudo apt-get update | |
# sudo apt-get install -y mssql-tools unixodbc-dev | |
# echo '/opt/mssql-tools/bin' | sudo tee -a $GITHUB_PATH | |
# - name: Run SQL commands (example) | |
# run: | | |
# sqlcmd -S localhost,1433 -U SA -P "${{ secrets.MSSQL_SA_PASSWORD }}" -Q "SELECT @@VERSION" | |
- name: Run Test | |
run: dotnet test --no-build --verbosity normal | |
env: | |
SQLKATA_MYSQL_HOST: localhost | |
SQLKATA_MYSQL_USER: root | |
SQLKATA_MYSQL_DB: ${{ env.DB_MYSQL_DATABASE }} | |
SQLKATA_MYSQL_PASSWORD: "${{ secrets.MYSQL_ROOT_PASSWORD }}" |