From f63e8a8d645860be3d1b5249c97d2bf14186f159 Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 01:34:27 +0900 Subject: [PATCH 1/8] testing actions --- day4-actions-lab/.github/workflows/ci.yml | 27 +++++++++++ .../.github/workflows/release.yml | 31 +++++++++++++ day4-actions-lab/app/__init__.py | 1 + day4-actions-lab/app/message.py | 5 ++ day4-actions-lab/data/name.txt | 1 + day4-actions-lab/dist/index.html | 20 ++++++++ day4-actions-lab/requirements.txt | 1 + day4-actions-lab/tests/test_message.py | 20 ++++++++ day4-actions-lab/tools/generate_site.py | 46 +++++++++++++++++++ 9 files changed, 152 insertions(+) create mode 100644 day4-actions-lab/.github/workflows/ci.yml create mode 100644 day4-actions-lab/.github/workflows/release.yml create mode 100644 day4-actions-lab/app/__init__.py create mode 100644 day4-actions-lab/app/message.py create mode 100644 day4-actions-lab/data/name.txt create mode 100644 day4-actions-lab/dist/index.html create mode 100644 day4-actions-lab/requirements.txt create mode 100644 day4-actions-lab/tests/test_message.py create mode 100644 day4-actions-lab/tools/generate_site.py diff --git a/day4-actions-lab/.github/workflows/ci.yml b/day4-actions-lab/.github/workflows/ci.yml new file mode 100644 index 0000000..2403019 --- /dev/null +++ b/day4-actions-lab/.github/workflows/ci.yml @@ -0,0 +1,27 @@ +name: CI + +on: + pull_request: + branches: ["main"] + push: + branches: ["main"] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Run tests + run: pytest -q diff --git a/day4-actions-lab/.github/workflows/release.yml b/day4-actions-lab/.github/workflows/release.yml new file mode 100644 index 0000000..cac292f --- /dev/null +++ b/day4-actions-lab/.github/workflows/release.yml @@ -0,0 +1,31 @@ +name: Release Artifact + +on: + push: + branches: ["main"] + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Generate site artifact + run: python tools/generate_site.py + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: site-dist + path: dist/index.html diff --git a/day4-actions-lab/app/__init__.py b/day4-actions-lab/app/__init__.py new file mode 100644 index 0000000..36b8e57 --- /dev/null +++ b/day4-actions-lab/app/__init__.py @@ -0,0 +1 @@ +"""App package.""" diff --git a/day4-actions-lab/app/message.py b/day4-actions-lab/app/message.py new file mode 100644 index 0000000..508018b --- /dev/null +++ b/day4-actions-lab/app/message.py @@ -0,0 +1,5 @@ +def render_message(name: str) -> str: + name = (name or "").strip() + if not name: + name = "anonymous" + return f"Hello, {name}!" diff --git a/day4-actions-lab/data/name.txt b/day4-actions-lab/data/name.txt new file mode 100644 index 0000000..2873b8a --- /dev/null +++ b/day4-actions-lab/data/name.txt @@ -0,0 +1 @@ +Yeji diff --git a/day4-actions-lab/dist/index.html b/day4-actions-lab/dist/index.html new file mode 100644 index 0000000..45ae3ff --- /dev/null +++ b/day4-actions-lab/dist/index.html @@ -0,0 +1,20 @@ + + + + + + Day4 Artifact Demo + + + +
+

CI + Artifact CD Demo

+

Name: Yeji

+

Message: Hello, Yeji!

+

Generated at (UTC): 2026-01-15 16:32:49 UTC

+
+ + diff --git a/day4-actions-lab/requirements.txt b/day4-actions-lab/requirements.txt new file mode 100644 index 0000000..fe93bd5 --- /dev/null +++ b/day4-actions-lab/requirements.txt @@ -0,0 +1 @@ +pytest==8.3.2 diff --git a/day4-actions-lab/tests/test_message.py b/day4-actions-lab/tests/test_message.py new file mode 100644 index 0000000..d851c71 --- /dev/null +++ b/day4-actions-lab/tests/test_message.py @@ -0,0 +1,20 @@ +from pathlib import Path +import sys + +ROOT = Path(__file__).resolve().parents[1] +if str(ROOT) not in sys.path: + sys.path.insert(0, str(ROOT)) + +from app.message import render_message + + +def test_render_message_normal(): + assert render_message("Yeji") == "Hello, Yeji!" + + +def test_render_message_trims(): + assert render_message(" Yeji ") == "Hello, Yeji!" + + +def test_render_message_empty(): + assert render_message("") == "Hello, anonymous!" diff --git a/day4-actions-lab/tools/generate_site.py b/day4-actions-lab/tools/generate_site.py new file mode 100644 index 0000000..9c1bdbc --- /dev/null +++ b/day4-actions-lab/tools/generate_site.py @@ -0,0 +1,46 @@ +from datetime import datetime, timezone +from pathlib import Path +import sys + +ROOT = Path(__file__).resolve().parents[1] +if str(ROOT) not in sys.path: + sys.path.insert(0, str(ROOT)) + +from app.message import render_message +DATA = ROOT / "data" / "name.txt" +OUT = ROOT / "dist" / "index.html" + + +def main(): + name = DATA.read_text(encoding="utf-8").strip() + rendered = render_message(name) + now = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S UTC") + + html = f""" + + + + + Day4 Artifact Demo + + + +
+

CI + Artifact CD Demo

+

Name: {name}

+

Message: {rendered}

+

Generated at (UTC): {now}

+
+ + +""" + OUT.parent.mkdir(parents=True, exist_ok=True) + OUT.write_text(html, encoding="utf-8") + print(f"Wrote {OUT}") + + +if __name__ == "__main__": + main() From 9555172bb189dae6012fd1f3ec2c6e135fc7b483 Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 01:38:17 +0900 Subject: [PATCH 2/8] moved components to root directory --- {day4-actions-lab/.github => .github}/workflows/ci.yml | 0 .../.github => .github}/workflows/release.yml | 0 {day4-actions-lab/app => app}/__init__.py | 0 {day4-actions-lab/app => app}/message.py | 0 {day4-actions-lab/data => data}/name.txt | 0 {day4-actions-lab/dist => dist}/index.html | 0 day4-actions-lab/requirements.txt => requirements.txt | 0 submissions/kyeowo1221.md | 8 -------- {day4-actions-lab/tests => tests}/test_message.py | 0 {day4-actions-lab/tools => tools}/generate_site.py | 0 10 files changed, 8 deletions(-) rename {day4-actions-lab/.github => .github}/workflows/ci.yml (100%) rename {day4-actions-lab/.github => .github}/workflows/release.yml (100%) rename {day4-actions-lab/app => app}/__init__.py (100%) rename {day4-actions-lab/app => app}/message.py (100%) rename {day4-actions-lab/data => data}/name.txt (100%) rename {day4-actions-lab/dist => dist}/index.html (100%) rename day4-actions-lab/requirements.txt => requirements.txt (100%) delete mode 100644 submissions/kyeowo1221.md rename {day4-actions-lab/tests => tests}/test_message.py (100%) rename {day4-actions-lab/tools => tools}/generate_site.py (100%) diff --git a/day4-actions-lab/.github/workflows/ci.yml b/.github/workflows/ci.yml similarity index 100% rename from day4-actions-lab/.github/workflows/ci.yml rename to .github/workflows/ci.yml diff --git a/day4-actions-lab/.github/workflows/release.yml b/.github/workflows/release.yml similarity index 100% rename from day4-actions-lab/.github/workflows/release.yml rename to .github/workflows/release.yml diff --git a/day4-actions-lab/app/__init__.py b/app/__init__.py similarity index 100% rename from day4-actions-lab/app/__init__.py rename to app/__init__.py diff --git a/day4-actions-lab/app/message.py b/app/message.py similarity index 100% rename from day4-actions-lab/app/message.py rename to app/message.py diff --git a/day4-actions-lab/data/name.txt b/data/name.txt similarity index 100% rename from day4-actions-lab/data/name.txt rename to data/name.txt diff --git a/day4-actions-lab/dist/index.html b/dist/index.html similarity index 100% rename from day4-actions-lab/dist/index.html rename to dist/index.html diff --git a/day4-actions-lab/requirements.txt b/requirements.txt similarity index 100% rename from day4-actions-lab/requirements.txt rename to requirements.txt diff --git a/submissions/kyeowo1221.md b/submissions/kyeowo1221.md deleted file mode 100644 index eb34b3a..0000000 --- a/submissions/kyeowo1221.md +++ /dev/null @@ -1,8 +0,0 @@ -'EOF' - -github: kyeowo1221 - -takeaway: 강의 잘 이해하기 - -EOF - diff --git a/day4-actions-lab/tests/test_message.py b/tests/test_message.py similarity index 100% rename from day4-actions-lab/tests/test_message.py rename to tests/test_message.py diff --git a/day4-actions-lab/tools/generate_site.py b/tools/generate_site.py similarity index 100% rename from day4-actions-lab/tools/generate_site.py rename to tools/generate_site.py From b582103dc801955a3441ddfb008dfa4bb1f7fd89 Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 01:40:56 +0900 Subject: [PATCH 3/8] fixed test --- tests/test_message.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_message.py b/tests/test_message.py index d851c71..9900993 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -12,8 +12,8 @@ def test_render_message_normal(): assert render_message("Yeji") == "Hello, Yeji!" -def test_render_message_trims(): - assert render_message(" Yeji ") == "Hello, Yeji!" +# def test_render_message_trims(): +# assert render_message(" Yeji ") == "Hello, Yeji!" def test_render_message_empty(): From e4b360054df889c41fda0f41802780feba7a192c Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 01:48:58 +0900 Subject: [PATCH 4/8] fixed: --- tests/test_message.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_message.py b/tests/test_message.py index 9900993..d851c71 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -12,8 +12,8 @@ def test_render_message_normal(): assert render_message("Yeji") == "Hello, Yeji!" -# def test_render_message_trims(): -# assert render_message(" Yeji ") == "Hello, Yeji!" +def test_render_message_trims(): + assert render_message(" Yeji ") == "Hello, Yeji!" def test_render_message_empty(): From f5616d1a78e1c3e189f3725fafbb28544380a009 Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 01:57:50 +0900 Subject: [PATCH 5/8] failing test added --- tests/test_message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_message.py b/tests/test_message.py index d851c71..0b77ef1 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -17,4 +17,4 @@ def test_render_message_trims(): def test_render_message_empty(): - assert render_message("") == "Hello, anonymous!" + assert render_message("") == "Hello, anonymous!!!!" From b633780b5952b2ff7bd6102325cbb4dfe315d9b7 Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 08:06:54 +0900 Subject: [PATCH 6/8] added production --- .github/workflows/cd.yml | 27 ++++++++++++++++++++++++ .github/workflows/ci.yml | 44 ++++++++++++++++++++-------------------- 2 files changed, 49 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/cd.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..88f8471 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,27 @@ +name: Deployment +on: push + +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: echo 'run tests' + + deploy-dev: + name: Deploy(Dev) + needs: test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: echo 'dev deployment' + + deploy-production: + name: Deploy(Production) + needs: deploy-dev + runs-on: ubuntu-latest + environment: production + steps: + - uses: actions/checkout@v2 + - run: echo 'production deployment' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2403019..9ea9e06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,27 +1,27 @@ -name: CI +# name: CI -on: - pull_request: - branches: ["main"] - push: - branches: ["main"] +# on: +# pull_request: +# branches: ["main"] +# push: +# branches: ["main"] -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 +# jobs: +# test: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout repository +# uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.11" +# - name: Set up Python +# uses: actions/setup-python@v5 +# with: +# python-version: "3.11" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt +# - name: Install dependencies +# run: | +# python -m pip install --upgrade pip +# pip install -r requirements.txt - - name: Run tests - run: pytest -q +# - name: Run tests +# run: pytest -q From 75171529532851be852b26751da2e0f75406d55c Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 10:25:02 +0900 Subject: [PATCH 7/8] demo: 1 --- .github/workflows/cd.yml | 48 ++++++++++++++++++++-------------------- .github/workflows/ci.yml | 44 ++++++++++++++++++------------------ data/name.txt | 2 +- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 88f8471..1b0e588 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,27 +1,27 @@ -name: Deployment -on: push +# name: Deployment +# on: push -jobs: - test: - name: Test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - run: echo 'run tests' +# jobs: +# test: +# name: Test +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 +# - run: echo 'run tests' - deploy-dev: - name: Deploy(Dev) - needs: test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - run: echo 'dev deployment' +# deploy-dev: +# name: Deploy(Dev) +# needs: test +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 +# - run: echo 'dev deployment' - deploy-production: - name: Deploy(Production) - needs: deploy-dev - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v2 - - run: echo 'production deployment' +# deploy-production: +# name: Deploy(Production) +# needs: deploy-dev +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v2 +# - run: echo 'production deployment' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ea9e06..2403019 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,27 +1,27 @@ -# name: CI +name: CI -# on: -# pull_request: -# branches: ["main"] -# push: -# branches: ["main"] +on: + pull_request: + branches: ["main"] + push: + branches: ["main"] -# jobs: -# test: -# runs-on: ubuntu-latest -# steps: -# - name: Checkout repository -# uses: actions/checkout@v4 +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 -# - name: Set up Python -# uses: actions/setup-python@v5 -# with: -# python-version: "3.11" + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" -# - name: Install dependencies -# run: | -# python -m pip install --upgrade pip -# pip install -r requirements.txt + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt -# - name: Run tests -# run: pytest -q + - name: Run tests + run: pytest -q diff --git a/data/name.txt b/data/name.txt index 2873b8a..b0ed0e3 100644 --- a/data/name.txt +++ b/data/name.txt @@ -1 +1 @@ -Yeji +Siru From face140298b3c100f0a972fd9a3a8904e677e0bc Mon Sep 17 00:00:00 2001 From: yayyz Date: Fri, 16 Jan 2026 10:30:40 +0900 Subject: [PATCH 8/8] fixed failing ci --- tests/test_message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_message.py b/tests/test_message.py index 0b77ef1..d851c71 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -17,4 +17,4 @@ def test_render_message_trims(): def test_render_message_empty(): - assert render_message("") == "Hello, anonymous!!!!" + assert render_message("") == "Hello, anonymous!"