本文へ移動
cccskills
無料GitHub で公開

submit-changes

Use when event content or site changes are finished and need to reach devopsdays.org - covers branching, rebasing on upstream main, local preview, committing, pushing to a fork or to upstream, opening the pull request, and interpreting a failing check.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Submit changes to devopsdays-web

Every other skill in this repository ends here. Work through the steps in order; do not skip or reorder them.

Two rules that override convenience:

  • Never stage with git add -A. resources/, public/, node_modules/ and .hugo_build.lock live in the working tree. Stage by filename.
  • Never enable auto-merge, and never push without confirming with the person first.

1. Work out where you are pushing

git remote -v
gh repo view devopsdays/devopsdays-web --json viewerPermission -q .viewerPermission
  • origin is devopsdays/devopsdays-web and permission is WRITE, MAINTAIN or ADMIN → maintainer. Branch off main, push to origin, open the PR from that branch.
  • Otherwise → fork workflow. origin should be the contributor's fork and upstream should be devopsdays/devopsdays-web. If upstream is missing:
    git remote add upstream https://github.com/devopsdays/devopsdays-web.git
    
    If there is no fork at all, tell the person to create one — do not fork on their behalf.

Call the upstream remote $UPSTREAM below (origin for maintainers, upstream otherwise).

2. Be on a branch, rebased on upstream main

Never commit to main.

git fetch "$UPSTREAM" main
git rev-parse --abbrev-ref HEAD    # if this says main, create a branch now

Branch names describe the change: den-2026-add-cloudbees, boston-2026-speakers.

git checkout -b <branch>          # only if not already on one
git rebase "$UPSTREAM"/main

If the rebase conflicts, stop. Report the conflicting files and let the person resolve them. Do not push a half-finished rebase.

3. Offer a local preview

Optional — not everyone can run one, and that is fine. Offer it, and if nothing is available say so and move on rather than failing.

./hugoserver.sh                                    # Docker, pinned version. Preferred.
make docker-server                                 # docker compose alternative
hugo server -w --baseURL="http://localhost:1313"   # needs local Hugo 0.152.2 extended

Tell them the URL of the page that changed, e.g. http://localhost:1313/events/2026-boston/sponsor/. Hugo's watcher misses new and renamed files — restart it after those.

A local Hugo that is newer than 0.152.2 may fail on images that CI accepts. If a local build fails on an image under assets/sponsors/, that is a version difference, not your change.

4. Stage, by name

git status --short
git add <each file you actually changed>
git diff --cached --stat

Read the staged list back to the person before committing. If anything you did not touch appears, unstage it.

5. Commit

Use the same convention as the PR title:

[DEN-2026] Add CloudBees as a Bronze sponsor

[CITY-YYYY] with either a city abbreviation or the city name. One logical change per commit.

6. Confirm before pushing

Say plainly:

  • which remote and branch you are about to push to;
  • that opening a PR here means a maintainer may merge it as soon as the checks pass;
  • that if they are not ready, they should stop and use the team-preview workflow in utilities/docs/workflow/README.md instead of opening a PR.

Offer to print the commands so they can run them. Wait for an explicit yes.

7. Push

git push -u origin HEAD

If the rebase in step 2 rewrote history and the branch already exists on the remote, the push is rejected. Use a lease, never a bare force:

git push --force-with-lease -u origin HEAD

If that fails with cannot lock ref, the remote branch exists but has never been fetched into this checkout, so the lease expects it to be absent. Teach the lease what the remote holds and retry the same command:

git fetch origin "$(git rev-parse --abbrev-ref HEAD)"

If that fetch shows the remote genuinely has commits this branch does not, stop and report. Do not escalate to --force.

8. Open the pull request

Ready for review, not a draft — this project merges on green.

Title: [CITY-YYYY] Short description, under 70 characters.

The body must be non-empty and must not contain the string Bluth or .github/workflows/pr.yml fails the PR. Sections in this order, omitting any that do not apply:

## Summary
<1-3 bullets: what changed, for which event>

## What to check in the deploy preview
<the specific page(s) a reviewer should open, e.g. /events/2026-boston/sponsor/>

## Organizer email
<only when organizers were added or removed - see step 8a>
gh pr create --title "<title>" --body "$(cat <<'BODY'
...
BODY
)"

For a fork, add --repo devopsdays/devopsdays-web.

8a. Organizer changes

If this PR adds or removes a team_members entry, the ## Organizer email section is required and must say that an email with full names, email addresses, and employers needs to go to info@devopsdays.org. The merge is held until it is sent. Remind the person directly as well — do not rely on them reading the PR body.

9. No auto-merge

Do not run gh pr merge --auto. Merging is a maintainer's deliberate action.

10. Watch the checks, and fix what fails

gh pr checks --watch
Failing checkWhat it meansFix
Lint FilenamesA file or directory you added has mixed casegit mv it to lowercase, then update whatever references it (image = in frontmatter, id: in YAML). All-caps names like README.md are fine; mixed case is not
Pull Request Description ValidationBody is empty or contains Bluthgh pr edit --body "..." with real text
Block sponsor asset changesYou touched static/img/sponsors/Revert those paths. Sponsor logos go in assets/sponsors/<first-char>/
Build hugo on LinuxHugo failedRead the error. Usual causes: name: missing from main.yml; startdate set with a blank enddate; a program[].title of type: talk that does not match a file in program/; a sponsor id with no data/sponsors/<id>.yml; an image referenced in frontmatter that is not on disk
Check for large filesA PDF or a big fileComments only, does not block — but move it to devopsdays-assets anyway

Netlify posts a Deploy Preview link on the PR. Give that URL to the person with the path to their page appended — it is the only way most organizers will actually see their change.

11. Report back

Tell them: the PR URL, the check status, the deploy-preview URL for the page that changed, and anything still outstanding (an organizer email, a missing image, a follow-up PR).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when adding, removing, or updating a local organizer on a devopsdays event team - covers the team_members entry, the photo, and the mandatory email to info@devopsdays.org that gates the merge.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

Use when a devopsdays event has confirmed a speaker and their talk, workshop, ignite, or keynote needs to appear on the event site - covers the speaker bio page, the talk page, the headshot, and multi-speaker talks.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

Use when a devopsdays event has sold or confirmed a sponsorship and the sponsor needs to appear on the event's site - covers both sponsors already in the shared directory and brand-new ones needing a logo and data file.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

Use when a devopsdays event has finished and the slides or video recordings need to be attached to the talk pages, or when a speaker sends a link to their deck afterwards.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

Use when building or editing a devopsdays event's schedule - adding talks, ignites, open spaces, breaks, and evening events to the program, or moving time slots around.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

Use when a devopsdays event that is already listed on the site has to be cancelled or postponed, and its pages need to stop advertising dates, registration, and sponsorship.

日本語の概要は準備中です。原文の説明を表示しています。

devopsdays/devopsdays-web1932026年10月8日 更新

devopsdays のスキルをすべて見る

このスキルの問題を報告する