build-push-action VS upload-artifact

Compare build-push-action vs upload-artifact and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
build-push-action upload-artifact
31 24
3,983 2,886
3.5% 3.7%
8.5 8.2
3 days ago 3 days ago
TypeScript TypeScript
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

build-push-action

Posts with mentions or reviews of build-push-action. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-07.
  • Continuous Deployment with GitHub Actions and Kamal
    4 projects | dev.to | 7 Jan 2024
    We use the docker/build-push-action to build the application image. In addition to setting the correct tag, the image build step must also provide a label matching your service name. Because the image should be pushed to your container registry, we set push: true, and because we want ludicrous build speed we instruct the build step to utilize the GitHub Actions cache.
  • Dockerize and Deploy a NodeJS Application to Cloud Run with GitHub Actions
    3 projects | dev.to | 5 Oct 2023
    name: Lint and Dockerize the app on: push: branches: [master] pull_request: branches: [master] env: # Use docker.io for Docker Hub if empty REGISTRY: docker.io # github.repository as / IMAGE_NAME: ${{ github.repository }} jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Google Cloud uses: google-github-actions/[email protected] with: project_id: ${{ secrets.GCP_PROJECT_ID }} service_account_key: ${{ secrets.GCP_SA_KEY }} # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} # if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action #- name: Extract Docker metadata # id: meta # uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 # with: # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image uses: docker/build-push-action@v2 with: context: ./ tags: ${{ secrets.DOCKER_USERNAME }}/magga:latest push: true file: ./Dockerfile - name: Image digest run: echo
  • Automating Tag Creation, Release, and Docker Image Publishing with GitHub Actions
    5 projects | dev.to | 26 Jul 2023
    docker/build-push-action@v4 to build and push Docker images with Buildx.
  • How to use notification in gitea actions
    4 projects | /r/selfhosted | 1 Apr 2023
    Hmmm interesting question... I use the following in my yaml: yaml - name: Build and push uses: https://github.com/docker/build-push-action@v2 can't you just use like: yaml - name: NTFY uses: https://github.com/dawidd6/action-send-mail@v3 and use the actions explained in the links?
  • Where do you commit files for containers that run CI scripts?
    1 project | /r/devops | 29 Mar 2023
    Docker made some decent actions free to use like this one to build and push docker images to registries.
  • [Darksouls] Remaster pour PC Controller ne fonctionne pas ?
    3 projects | /r/enfrancais | 14 Mar 2023
  • Automate Docker Image Builds and Push to GitHub Registry Using GitHub Actions 🐙
    7 projects | dev.to | 11 Mar 2023
    name: Docker Image Publish on: push: branches: [ "main" ] # Publish semver tags as releases. tags: [ 'v*.*.*' ] pull_request: branches: [ "main" ] env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io # github.repository as / IMAGE_NAME: ${{ github.repository }} jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write steps: - name: Checkout repository uses: actions/checkout@v3 # Install the cosign tool except on PR # https://github.com/sigstore/cosign-installer - name: Install cosign if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@f3c664df7af409cb4873aa5068053ba9d61a57b6 #v2.6.0 with: cosign-release: 'v1.11.0' # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx uses: docker/setup-buildx-action@v2 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} if: github.event_name != 'pull_request' uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v4 with: context: "{{defaultContext}}:src" push: ${{ github.event_name != 'pull_request' }} # Don't push on PR tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max
  • Automate Docker Image Builds and Push to Docker Hub Using GitHub Actions 🐳🐙
    10 projects | dev.to | 1 Mar 2023
    Build and push Docker image: We will use the docker/build-push-action action to build and push the Docker image to Docker Hub. We will use the following inputs:
  • Show HN: Cross-Platform GitHub Action
    5 projects | news.ycombinator.com | 16 Jan 2023
    I previously tried to use Docker `docker/setup-qemu-action@v2` and `docker/setup-buildx-action@v2` for this purpose (see that example https://github.com/docker/build-push-action#git-context). Thanks to buildkit, platform switching works transparently. However, building on ARM via QEMU on GitHub Actions is terribly slow (something like 5 times more), which is hard to accept. Therefore, full of hope, I am waiting for GitHub Actions to make cloud runners available on ARM, because it is a blocker for the implementation of Graviton on the AWS environment for us.

    For a while, the blocker in GitHub Actions for providing ARM support was that Azure doesn't have ARM support. In this way, the Azure cloud offering may determine the habits of AWS consumers.

  • Do I need Dockerhub for CI/CD with Github Actions?
    2 projects | /r/docker | 15 Dec 2022
    Build and push an image in CI. This extends #2 by pushing the image to a container registry. DockerHub is the default registry in Docker, but isn't the only registry. You could use GitHub's Container Registry as well. We (Docker) have supported GitHub Actions with lots of documentation to help out. You could then extend the pipeline to actually deploy your updated image too.

upload-artifact

Posts with mentions or reviews of upload-artifact. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-01.
  • Learning GitHub Actions in a Simple Way
    5 projects | dev.to | 1 Feb 2024
    upload-artifact
  • GitHub Actions for Jar file deployment
    2 projects | dev.to | 13 Jan 2024
    Here, the concept of "upload" is a little confusing. What the GitHub action upload-artifact does is to "copy" the jar file to a publicly accessible folder.
  • CI/CI deploy a static website to AWS S3 bucket through Github Actions
    5 projects | dev.to | 22 Dec 2023
    The content of the build destination folder folder needs is saved and transferred to the following jobs in the workflow. We do this with the Github actions actions/upload-artifact
  • You've used 100% of included services for GitHub Storage
    1 project | news.ycombinator.com | 16 Oct 2023
  • Building project docs for GitHub Pages
    7 projects | dev.to | 29 Aug 2023
    The action for uploading the artifact doesn't do too much, but it takes care of all the nuance around GitHub Pages artifacts specifically. You can view the action's source here. It will tar the path (provided by the with option) and then call the upload artifact action. The artifact's name is github-pages and has a 1 day expiration. This artifact has the name and format required for the deploy action. It all just works (so far).
  • A guide to using act with GitHub Actions
    5 projects | dev.to | 23 Mar 2023
    ➜ getting-started-with-act git:(master) act -j build WARN ⚠ You are using Apple M1 chip and you have not specified container architecture, you might encounter issues while running act. If so, try running it with '--container-architecture linux/amd64'. ⚠ [Node.js CI/build] 🚀 Start image=node:16-buster-slim [Node.js CI/build] 🐳 docker pull image=node:16-buster-slim platform= username= forcePull=false [Node.js CI/build] 🐳 docker create image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] [Node.js CI/build] 🐳 docker run image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] [Node.js CI/build] ☁ git clone 'https://github.com/actions/setup-node' # ref=v3 [Node.js CI/build] ☁ git clone 'https://github.com/actions/cache' # ref=v3 [Node.js CI/build] ☁ git clone 'https://github.com/actions/upload-artifact' # ref=v3 [Node.js CI/build] ⭐ Run Main actions/checkout@v3 [Node.js CI/build] 🐳 docker cp src=/Users/andrewevans/Documents/projects/getting-started-with-act/. dst=/Users/andrewevans/Documents/projects/getting-started-with-act [Node.js CI/build] ✅ Success - Main actions/checkout@v3 [Node.js CI/build] ⭐ Run Main Use Node.js 16.x [Node.js CI/build] 🐳 docker cp src=/Users/andrewevans/.cache/act/actions-setup-node@v3/ dst=/var/run/act/actions/actions-setup-node@v3/ [Node.js CI/build] 🐳 docker exec cmd=[node /var/run/act/actions/actions-setup-node@v3/dist/setup/index.js] user= workdir= [Node.js CI/build] 💬 ::debug::isExplicit: [Node.js CI/build] 💬 ::debug::explicit? false
  • Using Github Actions to publish your Flutter APP to Firebase App Distribution
    5 projects | dev.to | 4 Jan 2023
    Notice that already known commands like flutter pub get and flutter build apk (apk in case of Android; aab in case of iOS) now it shows up on our workflow. But, to upload the generated app file (artifact), we'll need to use the action upload-artifact@v1 and parse the build path which it will be storing the app file.
  • github action para deploy de app vuejs 3
    2 projects | dev.to | 5 Dec 2022
  • How do I write the GitHub release workflow for multiple OSs?
    3 projects | /r/github | 22 Oct 2022
    So the uploading will likely be done by upload artifact. Then you'll likely want to use a matrix build/package your tool across different OS's.
  • Automate Android Build Using GitHub Actions
    6 projects | dev.to | 19 Sep 2022
    Artifacts are files like APKs, screenshots, test reports, logs, which the workflow generates. You can upload and download artifacts to the current workflow using actions/upload-artifact@v2 and actions/download-artifact@v2 respectively.

What are some alternatives?

When comparing build-push-action and upload-artifact you can also consider the following projects:

setup-buildx-action - GitHub Action to set up Docker Buildx

cache - Cache dependencies and build outputs in GitHub Actions

ssh-action - GitHub Actions for executing remote ssh commands.

jacoco-badge-generator - Coverage badges, and pull request coverage checks, from JaCoCo reports in GitHub Actions

metadata-action - GitHub Action to extract metadata (tags, labels) from Git reference and GitHub events for Docker

publish-unit-test-result-action - GitHub Action to publish unit test results on GitHub

nocodb - 🔥 🔥 🔥 Open Source Airtable Alternative

flutter-action - Flutter environment for use in GitHub Actions. It works on Linux, Windows, and macOS.

ghaction-docker-meta - GitHub Action to extract metadata (tags, labels) for Docker [Moved to: https://github.com/docker/metadata-action]

github-action-sanity

login-action - GitHub Action to login against a Docker registry