diff --git a/.github/workflows/learn-github-actions.yml b/.github/workflows/learn-github-actions.yml new file mode 100644 index 000000000..9193cb51f --- /dev/null +++ b/.github/workflows/learn-github-actions.yml @@ -0,0 +1,431 @@ +name: Azurite PR check +run-name: ${{ github.actor }} is learning GitHub Actions + +on: + pull_request: + schedule: + - cron: '0 19 * * 0' + +jobs: + check-bats-version: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm install -g bats + - run: bats -v + + BlobTest_Ubuntu_Node20: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Ubuntu_Node14: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Ubuntu_Node16: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Ubuntu_Node18: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '18' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Ubuntu_Node22: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '22' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Win_Node14: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_Win_Node20: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_MacOS_Node16: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_MacOS_Node20: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run test:blob + - run: npm run test:blob:in-memory + + BlobTest_MySQL_Ubuntu_Node14: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: docker run --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql + - run: sleep 60 + - run: docker exec mysql mysql -u root -pmy-secret-pw -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;" + - run: docker exec mysql mysql -u root -pmy-secret-pw -e "create database azurite_blob_test;" + - run: npm run test:blob:sql:ci + + BlobTest_MySQL_Ubuntu_Node16: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: docker run --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql + - run: sleep 60 + - run: docker exec mysql mysql -u root -pmy-secret-pw -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;" + - run: docker exec mysql mysql -u root -pmy-secret-pw -e "create database azurite_blob_test;" + - run: npm run test:blob:sql:ci + + QueueTest_Ubuntu_Node14: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + QueueTest_Ubuntu_Node16: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + QueueTest_Win_Node16: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + QueueTest_Win_Node18: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '18' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + QueueTest_MacOS_Node20: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + QueueTest_MacOS_Node16: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:queue + - run: npm run test:queue:in-memory + + TableTest_Ubuntu_Node14: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + TableTest_Ubuntu_Node16: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + TableTest_Win_Node14: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + TableTest_Win_Node16: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + TableTest_MacOS_Node16: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + TableTest_MacOS_Node18: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '18' + - run: npm ci --legacy-peer-deps + - run: npm run test:table + - run: npm run test:table:in-memory + + Azurite_Linux_Node18: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '18' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:linux_mac + - run: npm run vscode:pack + - run: sudo npm uninstall -g azurite + - run: npm run build + - run: npm install --location=global + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Linux_Node16: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:linux_mac + - run: npm run vscode:pack + - run: sudo npm uninstall -g azurite + - run: npm run build + - run: npm install --location=global + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Win_Node14: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '14' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:win + - run: npm run vscode:pack + - run: npm uninstall -g azurite + - run: npm run build + - run: npm install -g + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Win_Node16: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:win + - run: npm run vscode:pack + - run: npm uninstall -g azurite + - run: npm run build + - run: npm install -g + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Mac_Node20: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:linux_mac + - run: npm run vscode:pack + - run: sudo npm uninstall -g azurite + - run: npm run build + - run: sudo npm install -g + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Mac_Node16: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '16' + - run: npm ci --legacy-peer-deps + - run: npm run lint + - run: npm run validate:npmpack:linux_mac + - run: npm run vscode:pack + - run: sudo npm uninstall -g azurite + - run: npm run build + - run: sudo npm install -g + - run: azurite -v + - run: azurite-blob -v + - run: azurite-queue -v + - run: azurite-table -v + + Azurite_Docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: npm ci --legacy-peer-deps + - run: npm run docker:build + - run: docker run xstoreazurite.azurecr.io/public/azure-storage/azurite:latest azurite -v + - run: docker run xstoreazurite.azurecr.io/public/azure-storage/azurite:latest azurite-blob -v + - run: docker run xstoreazurite.azurecr.io/public/azure-storage/azurite:latest azurite-queue -v + - run: docker run xstoreazurite.azurecr.io/public/azure-storage/azurite:latest azurite-table -v + + Azurite_ExeTest: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '18' + - run: npm ci --legacy-peer-deps + - run: npm run build:exe + - run: npm run test:exe + + Azurite_LinuxBinaryTest: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + - run: npm ci --legacy-peer-deps + - run: npm run build:linux + - run: npm run test:linux + + Azurite_Governance: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Component detection + uses: advanced-security/component-detection-dependency-submission-action@v0.0.2 \ No newline at end of file