login | checkout | |
---|---|---|
7 | 62 | |
271 | 5,301 | |
5.2% | 3.3% | |
7.3 | 7.6 | |
20 days ago | 7 days ago | |
TypeScript | TypeScript | |
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.
checkout
-
Learning GitHub Actions in a Simple Way
checkout
-
Secure GitHub Actions by pull_request_target
To checkout the merged commit with actions/checkout on pull_request_target event, you need to get the pull request by GitHub API and set the merge commit hash to actions/checkout input ref.
-
Tell HN: PR GitHub Actions don't run over your commit by default
If you re-run GHA after master changes, CI is testing over different code.
You can [disable](https://github.com/actions/checkout#checkout-pull-request-head-commit-instead-of-merge-commit) on the checkout action:
```
-
GitHub Is Down
There was an outage yesterday too when the GitHub action βcheckout@v3β broke when they released βcheckout@v4β
Yes, they broke the ability for GitHub CI to checkout reposβ¦
https://github.com/actions/checkout/issues/1448
- Can't use 'tar -xzf' extract archive file
-
Building project docs for GitHub Pages
The first two steps are setting up the job's environment. The checkout action will checkout out the repository at the triggering ref. The setup-python action will setup the desired Python runtime. My package supports Python 3.9+ so I'm targeting the minimum version for my build environments.
-
Automating GitHub Profile Updates with GitHub Actions
These first few steps demonstrate how you can run commands like npm install or import other workflows such as how it uses the actions/checkout to copy the contents of the repository into a working directory on the runner host. Read Reusable workflows for more about the syntax for referencing them.
-
Automate Docker Image Builds and Push to Docker Hub Using GitHub Actions π³π
Check out the repo: We will use the actions/checkout action to checkout the repository.
-
[Actions] How do I take my dev branch, build it, and then create a pull request to main with the latest build artifacts?
Take a look at the checkout action usage here https://github.com/actions/checkout
-
Using Github Actions to publish your Flutter APP to Firebase App Distribution
Then, we have two important initial steps to define. The first one is an official GitHub Action used to check-out a repository so a workflow can access it. The second one it's pretty more complex but, briefly, downloads and set up a requested version of Java.
What are some alternatives?
configure-aws-credentials - Configure AWS credential environment variables for use in other GitHub Actions.
ssh-action - GitHub Actions for executing remote ssh commands.
auth - A GitHub Action for authenticating to Google Cloud.
cache - Cache dependencies and build outputs in GitHub Actions
actions - GitHub Action for Infracost. See cloud cost estimates for Terraform in pull requests. π°π Love your cloud bill!
setup-node - Set up your GitHub Actions workflow with a specific version of node.js
auth - Authenticator via oauth2, direct, email and telegram
upload-artifact
github-azure-oidc - Some scripts and info to help you get your GitHub action connected to Azure
FTP-Deploy-Action - Deploys a GitHub project to a FTP server using GitHub actions
cargotracker - The project demonstrates how you can develop applications with Jakarta EE using widely adopted architectural best practices like Domain-Driven Design (DDD).
add-and-commit - :octocat: Automatically commit changes made in your workflow run directly to your repo