From b04f13b6b9478140f6f11d2aeb607fbac12149bf Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Tue, 23 Apr 2024 20:35:37 +0000
Subject: [PATCH 1/6] Create empty commit


From 161ab301fd057c1905d9f0d9a3d0e1c5a0f4a059 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Tue, 23 Apr 2024 20:35:38 +0000
Subject: [PATCH 2/6] Update to 1 in STEP and README.md

---
 .github/steps/-step.txt |   2 +-
 README.md               | 108 +++++++++++++++++++++++++---------------
 2 files changed, 69 insertions(+), 41 deletions(-)

diff --git a/.github/steps/-step.txt b/.github/steps/-step.txt
index 573541a..d00491f 100644
--- a/.github/steps/-step.txt
+++ b/.github/steps/-step.txt
@@ -1 +1 @@
-0
+1
diff --git a/README.md b/README.md
index 1a6d840..89a0347 100644
--- a/README.md
+++ b/README.md
@@ -14,48 +14,76 @@ _Use GitHub Actions to publish your project to a Docker image._
 </header>
 
 <!--
-  <<< Author notes: Course start >>>
-  Include start button, a note about Actions minutes,
-  and tell the learner why they should take the course.
+  <<< Author notes: Step 1 >>>
+  Choose 3-5 steps for your course.
+  The first step is always the hardest, so pick something easy!
+  Link to docs.github.com for further explanations.
+  Encourage users to open new tabs for steps!
 -->
 
-## Welcome
-
-GitHub Actions makes it easier than ever to incorporate continuous delivery (CD) into your repositories. This course will teach you what is needed to test and deliver artifacts that are ready for deployment.
-
-- **Who is this for**: Developers, DevOps engineers, full stack developers, cloud engineers.
-- **What you'll learn**: Continuous delivery, how to save and access build artifacts, package management, how to publish to GitHub Packages.
-- **What you'll build**: We will build a Docker image that runs a small game.
-- **Prerequisites**: We recommend you first complete the following courses: [Hello, GitHub Actions](https://github.com/skills/hello-github-actions) and [Continuous Integration](https://github.com/skills/continuous-integration).
-- **How long**: This course takes less than 30 minutes to complete.
-
-In this course, you will:
-
-1. Create a workflow
-2. Add a Dockerfile
-3. Merge your pull request
-
-### How to start this course
-
-<!-- For start course, run in JavaScript:
-'https://github.com/new?' + new URLSearchParams({
-  template_owner: 'skills',
-  template_name: 'publish-packages',
-  owner: '@me',
-  name: 'skills-publish-packages',
-  description: 'My clone repository',
-  visibility: 'public',
-}).toString()
--->
-
-[![start-course](https://user-images.githubusercontent.com/1221423/235727646-4a590299-ffe5-480d-8cd5-8194ea184546.svg)](https://github.com/new?template_owner=skills&template_name=publish-packages&owner=%40me&name=skills-publish-packages&description=My+clone+repository&visibility=public)
-
-1. Right-click **Start course** and open the link in a new tab.
-2. In the new tab, most of the prompts will automatically fill in for you.
-   - For owner, choose your personal account or an organization to host the repository.
-   - We recommend creating a public repository, as private repositories will [use Actions minutes](https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions).
-   - Scroll down and click the **Create repository** button at the bottom of the form.
-3. After your new repository is created, wait about 20 seconds, then refresh the page. Follow the step-by-step instructions in the new repository's README.
+## Step 1: Create the workflow file
+
+_Welcome to "Publish packages"! :wave:_
+
+First, take a moment to examine the image below. It shows the relationship between _continuous integration_, _continuous delivery_ and _continuous deployment_.
+
+![](https://i.imgur.com/xZCkjmU.png)
+
+**Continuous integration** (CI) is a practice where developers integrate tested code into a shared branch several times per day. **Continuous delivery** (CD) is the next phase of **continuous integration** (CI) where we also make sure to package the code in a _release_ and store it somewhere - preferably, in an artifact repository. Lastly, **Continuous deployment** (CD) takes **continuous delivery** (CD) to the next level by directly deploying our releases to the world.
+
+[**Docker**](https://www.docker.com/why-docker) is an engine that allows you to run containers.
+Containers are packages of software that can run reliably in different environments. Containers include everything needed to run the application. Containers are lightweight in comparison to virtual machines. A **Dockerfile** is a text document that contains all the commands and instructions necessary to build a Docker Image. A **Docker image** is an executable package comprised of code, dependencies, libraries, a runtime, environment variables, and configuration files. A **Docker container** is a runtime instance of a Docker Image.
+
+We'll start by creating the workflow file to publish a Docker image to GitHub Packages.
+
+### :keyboard: Activity: Create the workflow file
+
+1. Open a new browser tab, and work on the steps in your second tab while you read the instructions in this tab.
+1. Navigate to the **Code** tab.
+1. From the **main** branch dropdown, click on the **cd** branch.
+1. Navigate to the `.github/workflows/` folder, then select **Add file** and click on **Create new file**.
+1. In the **Name your file...** field, enter `publish.yml`.
+1. Add the following to the `publish.yml` file:
+   ```yml
+   name: Publish to Docker
+   on:
+     push:
+       branches:
+         - main
+   permissions:
+     packages: write
+     contents: read
+   jobs:
+     publish:
+       runs-on: ubuntu-latest
+       steps:
+         - name: Checkout
+           uses: actions/checkout@v4
+         # Add your test steps here if needed...
+         - name: Docker meta
+           id: meta
+           uses: docker/metadata-action@v5
+           with:
+             images: ghcr.io/YOURNAME/publish-packages/game
+             tags: type=sha
+         - name: Login to GHCR
+           uses: docker/login-action@v3
+           with:
+             registry: ghcr.io
+             username: ${{ github.repository_owner }}
+             password: ${{ secrets.GITHUB_TOKEN }}
+         - name: Build container
+           uses: docker/build-push-action@v5
+           with:
+             context: .
+             push: true
+             tags: ${{ steps.meta.outputs.tags }}
+   ```
+1. Replace `YOURNAME` with your username.
+1. Make sure that the image name is unique.
+1. Commit your changes.
+1. (optional) Create a pull request to view all the changes you'll make throughout this course. Click the **Pull Requests** tab, click **New pull request**, set `base: main` and `compare:cd`.
+1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
 
 <footer>
 

From d6b9109c2919ba8134636bc1c5aedec4552cbec8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Santiago=20Ar=C3=A9valo=20Valencia?=
 <71450411+santiagoarevalo@users.noreply.github.com>
Date: Tue, 23 Apr 2024 15:37:00 -0500
Subject: [PATCH 3/6] Create publish.yml

---
 .github/workflows/publish.yml | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 .github/workflows/publish.yml

diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..6491566
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,33 @@
+name: Publish to Docker
+on:
+  push:
+    branches:
+      - main
+permissions:
+  packages: write
+  contents: read
+jobs:
+  publish:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      # Add your test steps here if needed...
+      - name: Docker meta
+        id: meta
+        uses: docker/metadata-action@v5
+        with:
+          images: ghcr.io/santiagoarevalo/publish-packages/game
+          tags: type=sha
+      - name: Login to GHCR
+        uses: docker/login-action@v3
+        with:
+          registry: ghcr.io
+          username: ${{ github.repository_owner }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+      - name: Build container
+        uses: docker/build-push-action@v5
+        with:
+          context: .
+          push: true
+          tags: ${{ steps.meta.outputs.tags }}

From 7d69233daadd008df0cc5ba0a59b76516c5ffde8 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Tue, 23 Apr 2024 20:37:27 +0000
Subject: [PATCH 4/6] Update to 2 in STEP and README.md

---
 .github/steps/-step.txt |  2 +-
 README.md               | 80 ++++++++---------------------------------
 2 files changed, 16 insertions(+), 66 deletions(-)

diff --git a/.github/steps/-step.txt b/.github/steps/-step.txt
index d00491f..0cfbf08 100644
--- a/.github/steps/-step.txt
+++ b/.github/steps/-step.txt
@@ -1 +1 @@
-1
+2
diff --git a/README.md b/README.md
index 89a0347..4ea68f4 100644
--- a/README.md
+++ b/README.md
@@ -14,75 +14,25 @@ _Use GitHub Actions to publish your project to a Docker image._
 </header>
 
 <!--
-  <<< Author notes: Step 1 >>>
-  Choose 3-5 steps for your course.
-  The first step is always the hardest, so pick something easy!
-  Link to docs.github.com for further explanations.
-  Encourage users to open new tabs for steps!
+  <<< Author notes: Step 2 >>>
+  Start this step by acknowledging the previous step.
+  Define terms and link to docs.github.com.
 -->
 
-## Step 1: Create the workflow file
-
-_Welcome to "Publish packages"! :wave:_
-
-First, take a moment to examine the image below. It shows the relationship between _continuous integration_, _continuous delivery_ and _continuous deployment_.
-
-![](https://i.imgur.com/xZCkjmU.png)
-
-**Continuous integration** (CI) is a practice where developers integrate tested code into a shared branch several times per day. **Continuous delivery** (CD) is the next phase of **continuous integration** (CI) where we also make sure to package the code in a _release_ and store it somewhere - preferably, in an artifact repository. Lastly, **Continuous deployment** (CD) takes **continuous delivery** (CD) to the next level by directly deploying our releases to the world.
-
-[**Docker**](https://www.docker.com/why-docker) is an engine that allows you to run containers.
-Containers are packages of software that can run reliably in different environments. Containers include everything needed to run the application. Containers are lightweight in comparison to virtual machines. A **Dockerfile** is a text document that contains all the commands and instructions necessary to build a Docker Image. A **Docker image** is an executable package comprised of code, dependencies, libraries, a runtime, environment variables, and configuration files. A **Docker container** is a runtime instance of a Docker Image.
-
-We'll start by creating the workflow file to publish a Docker image to GitHub Packages.
-
-### :keyboard: Activity: Create the workflow file
-
-1. Open a new browser tab, and work on the steps in your second tab while you read the instructions in this tab.
-1. Navigate to the **Code** tab.
-1. From the **main** branch dropdown, click on the **cd** branch.
-1. Navigate to the `.github/workflows/` folder, then select **Add file** and click on **Create new file**.
-1. In the **Name your file...** field, enter `publish.yml`.
-1. Add the following to the `publish.yml` file:
-   ```yml
-   name: Publish to Docker
-   on:
-     push:
-       branches:
-         - main
-   permissions:
-     packages: write
-     contents: read
-   jobs:
-     publish:
-       runs-on: ubuntu-latest
-       steps:
-         - name: Checkout
-           uses: actions/checkout@v4
-         # Add your test steps here if needed...
-         - name: Docker meta
-           id: meta
-           uses: docker/metadata-action@v5
-           with:
-             images: ghcr.io/YOURNAME/publish-packages/game
-             tags: type=sha
-         - name: Login to GHCR
-           uses: docker/login-action@v3
-           with:
-             registry: ghcr.io
-             username: ${{ github.repository_owner }}
-             password: ${{ secrets.GITHUB_TOKEN }}
-         - name: Build container
-           uses: docker/build-push-action@v5
-           with:
-             context: .
-             push: true
-             tags: ${{ steps.meta.outputs.tags }}
+## Step 2: Add a Dockerfile
+
+_You created a publishing workflow! :tada:_
+
+We will add a `Dockerfile` to the `cd` branch. The `Dockerfile` contains a set of instructions that get stored in a `Docker Image`. If you'd like, you can [learn more about Dockerfiles](https://docs.docker.com/engine/reference/builder/).
+
+### :keyboard: Activity: Add a Dockerfile
+
+1. In the `cd` branch, create `Dockerfile` at the project root and include:
+   ```dockerfile
+   FROM nginx:1.24-alpine
+   COPY . /usr/share/nginx/html
    ```
-1. Replace `YOURNAME` with your username.
-1. Make sure that the image name is unique.
 1. Commit your changes.
-1. (optional) Create a pull request to view all the changes you'll make throughout this course. Click the **Pull Requests** tab, click **New pull request**, set `base: main` and `compare:cd`.
 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
 
 <footer>

From 2cf2851d7fc1fbde6d3d35a6407ae7bce5ab88f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Santiago=20Ar=C3=A9valo=20Valencia?=
 <71450411+santiagoarevalo@users.noreply.github.com>
Date: Tue, 23 Apr 2024 15:38:12 -0500
Subject: [PATCH 5/6] Create Dockerfile

---
 Dockerfile | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 Dockerfile

diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..1e90339
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,2 @@
+FROM nginx:1.24-alpine
+COPY . /usr/share/nginx/html

From f6f694773471c45ea11e53389f7b58a7224f5347 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Tue, 23 Apr 2024 20:38:31 +0000
Subject: [PATCH 6/6] Update to 3 in STEP and README.md

---
 .github/steps/-step.txt |  2 +-
 README.md               | 18 +++++++-----------
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/.github/steps/-step.txt b/.github/steps/-step.txt
index 0cfbf08..00750ed 100644
--- a/.github/steps/-step.txt
+++ b/.github/steps/-step.txt
@@ -1 +1 @@
-2
+3
diff --git a/README.md b/README.md
index 4ea68f4..c589e81 100644
--- a/README.md
+++ b/README.md
@@ -14,25 +14,21 @@ _Use GitHub Actions to publish your project to a Docker image._
 </header>
 
 <!--
-  <<< Author notes: Step 2 >>>
+  <<< Author notes: Step 3 >>>
   Start this step by acknowledging the previous step.
   Define terms and link to docs.github.com.
 -->
 
-## Step 2: Add a Dockerfile
+## Step 3: Merge your changes
 
-_You created a publishing workflow! :tada:_
+_Let's get publishing! :heart:_
 
-We will add a `Dockerfile` to the `cd` branch. The `Dockerfile` contains a set of instructions that get stored in a `Docker Image`. If you'd like, you can [learn more about Dockerfiles](https://docs.docker.com/engine/reference/builder/).
+You can now [merge](https://docs.github.com/en/get-started/quickstart/github-glossary#merge) your changes!
 
-### :keyboard: Activity: Add a Dockerfile
+### :keyboard: Activity: Merge your changes
 
-1. In the `cd` branch, create `Dockerfile` at the project root and include:
-   ```dockerfile
-   FROM nginx:1.24-alpine
-   COPY . /usr/share/nginx/html
-   ```
-1. Commit your changes.
+1. Merge your changes from `cd` into `main`. If you created the pull request in step 1, just open that PR and click on **Merge pull request**. If you did not create the pull request earlier, you can do it now by following the instructions in step 1.
+1. (optional) Delete the branch `cd`.
 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
 
 <footer>