This repository has been archived by the owner on Mar 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
53 lines (46 loc) · 8.79 KB
/
push-sakura-registry.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
name: build_prod_image
on:
push:
branches:
- main
jobs:
build_and_push:
runs-on: ubuntu-latest
env:
IMAGE_NAME: ictsc-sachiko
REGISTRY: ictsc2021.sakuracr.jp
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set tags
uses: docker/metadata-action@v3
id: image-tag
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest
type=sha,prefix=,format=short
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Sakura Container Registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.SAKURACR_USER }}
password: ${{ secrets.SAKURACR_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
build-args: |
app_title=ICTSC2021 冬の陣
guide_contents=# 競技案内\n\n## ルール\n\n### 問題\n\n- 1日目と2日目の問題は同じ。\n- 前提条件と終了条件を満たすと満点。\n- 満点にならなくても部分的に合っていたり、問題は解けてはいるが前提条件を破った場合、問題によっては部分点が与えられることもある。部分点の内容や基準は非公開。\n\n### 禁止事項\n\n- 他のチームや参加登録をしていない人間と協力をして問題を解く行為。\n- 競技時間外に問題環境に接続したり、解答を送信する行為。\n- その他、運営が大会を継続するにあたって妨害行為であると判断した行為や違法行為。\n- ※運営からの注意を無視し継続的に行った場合、参加資格の剥奪や表彰からの除外などの措置を行う。\n\n### 採点\n\n- 運営は、以下の手法で採点を行う。\n 1. 解答を読む。\n 2. 正しく解けているか問題環境を確認する。\n - **つまり、解答を読んだ時点で間違いであれば、問題環境を確認せずに0点になる。**\n- 解答は、送信されてから20分以降40分以内に採点される。\n- 解答送信後、20分間は同じ問題に次の解答が送れない。\n\n### 解答\n\n- 解答の要件は以下です。\n - 解答は報告書形式で記述すること。\n - 解答を読むだけで問題の解決できるような状態で提出をする。\n - (解答に書かずに作業をして問題が解決できても正解ではない。)\n - 複数回解答をする場合、それぞれの解答はその解答だけで完結するように解答する。\n - 前の解答は参照しない。\n\n## 案内\n\n### スケジュール\n\n競技時間以外の時間は、問題を解くことができません。\n\n#### 1日目\n\n| 時間 | 予定 |\n| -- | -- |\n| 10:00 - 10:20 | 開会式 |\n| 10:30 | 競技開始 |\n| 12:00 ~ 13:00 | お昼休憩 |\n| 16:30 | 競技終了 |\n\n※お昼休憩は、問題文の閲覧や問題環境へのSSH、解答送信などは普通通りできます。なるべくこの時間に休憩しましょうという目安です。また、運営も休憩するため、この時間帯に解答を送信されてもお昼休憩終了後に採点を開始します。ご了承ください。\n\n#### 2日目\n\n| 時間 | 予定 |\n| -- | -- |\n| 10:00 | 競技開始 |\n| 16:30 | 競技終了 |\n| 17:20 | 採点完全終了 |\n| 17:30 | 閉会式開始 |\n| 18:30 | 閉会式終了 |\n\n\n### 問題環境\n\n- 本コンテストの問題環境は、SSHできる仮想マシンとして提供されます。\n- 問題環境は、チームごとに独立しており、インターネットから直接アクセスすることはできません。\n- 問題環境へは、踏み台サーバを経由して接続します。\n- いくつかの問題は、VNCを用いて問題環境に接続する必要があります。踏み台サーバーはSSHのみ接続を許可しているため、VNCを利用する場合は、SSHポートフォワードを利用してアクセスする必要があります。\n\n#### 問題環境の初期化\n\n- 問題環境は初期化を行うことができます。\n- 初期化はペナルティはありません。しかし、最後の手段であることを理解してご利用ください。注意点もいくつかあります。\n - 問題環境の初期化はすぐには行われず、再展開システムのキューが空き次第ベストエフォートで実行されます。そのため、長時間にわたって問題環境にアクセスできなくなった場合でも、運営側で対処や補償は行いません。\n - 初期化中は問題を解くことができなくなる点に注意してください。\n - 問題環境の初期化は、各チームで同時に1問のみ実行することができます。\n- 初期化はDiscordのチームチャットから行うことができます。\n- 以下のフォーマットに従って、問題環境の初期化依頼を送信してください。問題コードはスコアサーバーに記載されています。\n\n```\n/recreate PROBLEM_CODE\n```\n\n- 初期化の進捗は、初期化依頼が受理された後に返信されるURLからご確認ください。\n\n### 得点・順位\n\n- 採点された回答の中で、最も高い得点がその問題の最終的な得点になります。\n- 以下の例の場合、問題の最終的な得点は200点になります。\n\n| 回答提出時間 | 得点 |\n| ------------- | ---- |\n| 13:00 | 100 |\n| 16:00 | 200 |\n| 17:00 | 100 |\n\n順位は以下のルールに従って決定されます。\n 1. 問題の最終的な点数の合計が大きいチームの方がより高い順位とする\n 2. その点数に到達するのが最も早いチームの方がより高い順位とする\n 3. 1, 2の条件を満たさない場合、同じ順位とする\n\n## 質問\n\n- 原則として、質問はDiscordでのみ受け付けます。\n- ただし、以下のような理由で、Discordでの質問ができない場合、ictsc2021@icttoracon.net 宛に、チーム名と質問事項を明記の上、お問い合わせください。\n - Discordに参加するまでの過程で質問が発生した場合\n - Discord自体が落ちてしまって質問できない場合 \n- 問題環境に関する質問など他のチームに知られてはいけない質問は、チームチャットで質問を送信してください。\n - チームチャットで質問をする場合、以下のフォーマットに従って、質問内容を送信してください。質問に対応したスレッドが作成されます。このスレッドの中で、詳しい質問内容を送信してください。\n- それ以外の競技全般に関する質問は、randomチャンネル・チームチャットのどちらで質問を送信していただいても構いません。\n\n```\n/ask SUMMARY\n```\n\nまた、質問内容によっては、競技の公平性のため、お答えすることができない質問もあります。あらかじめご了承ください。\n\n## 表彰\n\n競技終了後、順位が高いチームから順に3チームの表彰を行います。2日目の競技終了後、閉会式にて表彰を行う他、ICTSC公式ホームページにて今回の大会の順位を掲載いたします。\n\nまた、競技終了後、それぞれの順位をメールにて送付いたします。\n\n## Discord\n\n今回の大会では、運営と参加者のコミュニケーションツールとしてDiscordを利用します。メールでお送りした招待リンクからDiscordのチャンネルに参加してください。チーム全員が参加する必要はありませんが、問題に関する質問や問題環境の初期化はDiscordのチャンネル経由でのみ行うことができます。\n\nチャンネルに参加したら、最初にチーム登録を行う必要があります。チャンネルには、ICTSC2021 AdminというBotが動作しているので、以下のフォーマットに従って、チーム登録を行ってください。招待コードは、Discordの招待リンクをお送りしたメールに一緒に記載しています。正しい招待コードが入力されると、チームのロールが付与され、チームチャットが見えるようになります。\n\n```\n/join INVITATION_CODE\n```\n
app_url=https://contest.ictsc.net
notes_contents=
push: true
tags: ${{ steps.image-tag.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max