login | runner | |
---|---|---|
7 | 59 | |
271 | 4,525 | |
5.2% | 1.9% | |
7.3 | 9.1 | |
21 days ago | 6 days ago | |
TypeScript | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
login
-
Playwright, GitHub Actions and Azure Static Web Apps staging environments
name: Static Web App - Build and Deploy ποΈ on: push: branches: - main pull_request: types: [opened, synchronize, reopened, closed] branches: - main workflow_dispatch: permissions: id-token: write contents: write pull-requests: write env: LOCATION: westeurope STATICWEBAPPNAME: blog.johnnyreilly.com jobs: build_and_deploy_swa_job: if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') runs-on: ubuntu-latest name: Site build and deploy ποΈ steps: - name: Checkout π₯ uses: actions/checkout@v3 # Auth between GitHub and Azure is handled by https://github.com/jongio/github-azure-oidc # https://github.com/Azure/login#sample-workflow-that-uses-azure-login-action-using-oidc-to-run-az-cli-linux # other login options are possible too - name: AZ CLI login π uses: azure/login@v1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Get preview URL π id: static_web_app_preview_url uses: azure/CLI@v1 with: inlineScript: | DEFAULTHOSTNAME=$(az staticwebapp show -n '${{ env.STATICWEBAPPNAME }}' | jq -r '.defaultHostname') PREVIEW_URL="https://${DEFAULTHOSTNAME/.[1-9]./-${{github.event.pull_request.number }}.${{ env.LOCATION }}.1.}" echo "PREVIEW_URL=$PREVIEW_URL" >> $GITHUB_OUTPUT - name: Setup Node.js π§ uses: actions/setup-node@v3 with: node-version: '18' cache: 'yarn' - name: Install and build site π§ run: | cd blog-website yarn install --frozen-lockfile yarn run build cp staticwebapp.config.json build/staticwebapp.config.json - name: Get API key π id: static_web_app_apikey uses: azure/CLI@v1 with: inlineScript: | APIKEY=$(az staticwebapp secrets list --name '${{ env.STATICWEBAPPNAME }}' | jq -r '.properties.apiKey') echo "APIKEY=$APIKEY" >> $GITHUB_OUTPUT - name: Deploy site π id: static_web_app_build_and_deploy uses: Azure/static-web-apps-deploy@v1 with: azure_static_web_apps_api_token: ${{ steps.static_web_app_apikey.outputs.APIKEY }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) action: 'upload' skip_app_build: true app_location: '/blog-website/build' # App source code path api_location: '/blog-website/api' # Api source code path - optional outputs: preview-url: ${{steps.static_web_app_preview_url.outputs.PREVIEW_URL}} integration_tests_job: name: Integration tests π‘π needs: build_and_deploy_swa_job if: github.event_name == 'pull_request' && github.event.action != 'closed' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Wait for preview ${{ needs.build_and_deploy_swa_job.outputs.preview-url }} β id: static_web_app_wait_for_preview uses: nev7n/wait_for_response@v1 with: url: '${{ needs.build_and_deploy_swa_job.outputs.preview-url }}' responseCode: 200 timeout: 600000 interval: 1000 - uses: actions/setup-node@v3 with: node-version: 18 - name: Install dependencies run: npm ci working-directory: ./blog-website-tests - name: Install Playwright Browsers run: npx playwright install --with-deps working-directory: ./blog-website-tests - name: Run Playwright tests env: PLAYWRIGHT_TEST_BASE_URL: '${{ needs.build_and_deploy_swa_job.outputs.preview-url }}' run: npx playwright test working-directory: ./blog-website-tests - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: blog-website-tests/playwright-report/ retention-days: 30 close_pull_request_job: if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest name: Cleanup staging π₯ steps: - name: AZ CLI login π uses: azure/login@v1 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Get API key π id: apikey uses: azure/CLI@v1 with: inlineScript: | APIKEY=$(az staticwebapp secrets list --name '${{ env.STATICWEBAPPNAME }}' | jq -r '.properties.apiKey') echo "APIKEY=$APIKEY" >> $GITHUB_OUTPUT - name: Destroy staging environment π₯ id: closepullrequest uses: Azure/static-web-apps-deploy@v1 with: azure_static_web_apps_api_token: ${{ steps.apikey.outputs.APIKEY }} action: 'close'
-
Deploying C# Azure Functions via GitHub Actions
Azure Login
-
CICD experience: Source-2-image and deploy to Oracle WebLogic Server on AKS
We leveraged many existing GitHub Actions such as actions/checkout, azure/CLI and azure/login to build our pipeline. The built-in support for bash scripts provides all the flexibilities we needed to complete it.
-
How do you handle Azure/Google cloud creds in GitHub Actions?
Interesting - do you use https://github.com/Azure/login in GitHub Actions, or do you just create GitHub secrets and use those as env vars in the action steps?
-
Multiple Azure Subs One Github Action
In order for the workflow to successfully log in to the Azure subscriptions, you will need to make sure that you have created a Service Principal with the appropriate permissions. Once the Service Principal has been created you can add the details to a repository secret on GitHub. You can find out more about how to create this Service Principal on the βAzure/Loginβ GitHub repo. Once created, you secrets might look like the below.
-
Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity
This error actually makes sense. If you've seen any of my recent talks / posts, you may have noticed that I talk about how each GitHub Action is just another GitHub repository that follows a specific standard. Each GitHub Action has an action.yml file in the root of the GitHub repository. This is available for the Azure/login action here.
runner
- 20-line PR to add key Docker feature to GitHub Actions, please upvote
-
Why the fuck are we templating YAML? (2019)
In the case of GitHub Actions, it's made more painful by the lack of support for YAML anchors, which provide a bare minimum of composability.
https://github.com/actions/runner/issues/1182
- please dont state this as a "workaround". your version simply "pretends" it is a tty when infact it is not an actual tty
-
PySide vs. .NET WinForms for a Desktop GUI App in 2023?
Even if you donβt pick Avalonia, their notes for Mac distribution look useful:
https://docs.avaloniaui.net/docs/distribution-publishing/mac...
For example, the GitHub actions runner itself is a modern .NET core project with CI except for .app packaging.
https://github.com/actions/runner/tree/main/.github/workflow...
-
GitHub Actions Are a Problem
This probably answers your question:
https://github.com/actions/runner/blob/a4c57f27477077e57545a...
-
DevOps CI/CD Quick Start Guide with GitHub Actions π οΈπβ‘οΈ
$ mkdir actions-runner && cd actions-runner $ curl -o actions-runner-osx-arm64-2.311.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-osx-arm64-2.311.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 98.1M 100 98.1M 0 0 20.0M 0 0:00:04 0:00:04 --:--:-- 23.5M $ echo "fa2f107dbce709807bae014fb3121f5dbe106211b6bbe3484c41e3b30828d6b2 actions-runner-osx-arm64-2.311.0.tar.gz" | shasum -a 256 -c actions-runner-osx-arm64-2.311.0.tar.gz: OK $ tar xzf ./actions-runner-osx-arm64-2.311.0.tar.gz β― ./config.sh --url https://github.com/dpills/devops-quick-start-guide --token AGDCRGCMZWN34QIVISIO5XXXXXX -------------------------------------------------------------------------------- | ____ _ _ _ _ _ _ _ _ | | / ___(_) |_| | | |_ _| |__ / \ ___| |_(_) ___ _ __ ___ | | | | _| | __| |_| | | | | '_ \ / _ \ / __| __| |/ _ \| '_ \/ __| | | | |_| | | |_| _ | |_| | |_) | / ___ \ (__| |_| | (_) | | | \__ \ | | \____|_|\__|_| |_|\__,_|_.__/ /_/ \_\___|\__|_|\___/|_| |_|___/ | | | | Self-hosted runner registration | | | -------------------------------------------------------------------------------- # Authentication β Connected to GitHub # Runner Registration Enter the name of the runner group to add this runner to: [press Enter for Default] Enter the name of runner: [press Enter for dpills-mac] This runner will have the following labels: 'self-hosted', 'macOS', 'ARM64' Enter any additional labels (ex. label-1,label-2): [press Enter to skip] β Runner successfully added β Runner connection is good # Runner settings Enter name of work folder: [press Enter for _work] β Settings Saved. β― ./run.sh β Connected to GitHub Current runner version: '2.311.0' 2023-10-27 13:32:16Z: Listening for Jobs
-
Automate Flutter app delivery to AppCenter with GitHub Actions
A runner is where your action's jobs will be run. It can be a hosted virtual environment, or you can self-host a runner in your machine.
- GitHub Actions Frequently Failing
- Runners fail to set up job with tar -xzf error
-
How to deal with MSVC in DevOps
If i understand this writing correctly (https://github.com/actions/runner/issues/904), running Windows containers in a windows-latest GH Actions host is not possible. While using a self-hosted runner on a Windows server might be an option, this is not what I want since it is a package repo for a well-known open source project, think of the package repo part as a mini-Conan. I wouldn't know who would want to host that. In the best case we would stay with just GH Actions to keep everything confined in one space :)
What are some alternatives?
configure-aws-credentials - Configure AWS credential environment variables for use in other GitHub Actions.
act - Run your GitHub Actions locally π
auth - A GitHub Action for authenticating to Google Cloud.
azure-pipelines-agent - Azure Pipelines Agent π
actions - GitHub Action for Infracost. See cloud cost estimates for Terraform in pull requests. π°π Love your cloud bill!
virtual-environments - GitHub Actions runner images [Moved to: https://github.com/actions/runner-images]
auth - Authenticator via oauth2, direct, email and telegram
github-act-runner - act as self-hosted runner
github-azure-oidc - Some scripts and info to help you get your GitHub action connected to Azure
mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
cargotracker - The project demonstrates how you can develop applications with Jakarta EE using widely adopted architectural best practices like Domain-Driven Design (DDD).
docker-github-runner-linux - Repository for building a self hosted GitHub runner as a ubuntu linux container