###### tags: `NYCU-Software-Testing-2021-lab` [](https://github.com/p870613/st_nycu_lab4_309551042/actions/workflows/action.yml) NYCU-Software-Testing-2021-lab4 === [TOC] ## 學號 - student id : 309551042 - name: 林觀明 - 系級:資科工碩 - source: https://hackmd.io/l8sEncOYRy6Ox0I60zTk5Q?both ## github url https://github.com/p870613/st_nycu_lab4_309551042 ## part1 - Main.java - 單純input output 處理 + call `Game.java`的function  - Game.java - `Check_input` - 檢查input是否符合規定  - `Result` - 就一個個把邏輯寫出來而已  ## part2 - 先創3個`Stream<Arguments>` 分別可以導致`p1 win and p2 lose`, `p1 lose and p2 win`, `p1 and p2 draw` <br/>  - test case - p1 win and p2 lose <br/>  - p1 lose and p2 win <br/>  - p1 and p2 draw <br/>  - input - valid input <br/>  - invalid input <br/>  ## part3 - Makefile <br/>  - push and pull - 都使用branch `master` <br/>  - job - compile - `runs-on: ubuntu-latest` : 表示跑在`ubuntu`上 - steps - `actions/checkout@v2` 表示下載你的repo - `actions/setup-java@v1`: setup Java11 - `chmod +x gradlew`: 給權限 - `make compile`: compile  - test - `runs-on: ubuntu-latest` : 表示跑在`ubuntu`上 - steps - `actions/checkout@v2` 表示下載你的repo - `chmod +x gradlew`: 給權限 - `make test`: 進行測試 - `actions/upload-artifact@v2` : 有report, 會把他upload, 他的名字叫作`testreport`, 路徑是`build/reports`   - assemble - `runs-on: ubuntu-latest` : 表示跑在`ubuntu`上 - steps - `actions/checkout@v2` 表示下載你的repo - `chmod +x gradlew`: 給權限 - `make assemble`: 建制jar檔 - `actions/upload-artifact@v2` : 有jar檔, 會把他upload, 名字叫作`buildJar`, 路徑是`build/libs`   ## part4 - assemble - `runs-on: ubuntu-latest` : 表示跑在`ubuntu` - output - step做完之後 才會做 之後再`Release`會用  - steps - `actions/checkout@v2` 表示下載你的repo - `chmod +x gradlew`: 給權限 - `make assemble`: 建制jar檔 - `id: get_jarname` : 要輸出jar檔名  - `id: get_artifact_jarname`: 要upload的檔名  - `actions/upload-artifact@v2` : 有jar檔, 會把他upload, 名字叫作`buildJar`, 路徑是`build/libs`  - release - `runs-on: ubuntu-latest` : 表示跑在`ubuntu` - `id: getReleaseName` : 拿到tag的name - `actions/download-artifact@v2`: 把之前upload的東西載下來 - `name: ${{needs.assemble.outputs.artifact_jar_name}}` 這是要抓檔名 - `softprops/action-gh-release@v1`: 之後就release了 - `steps.getReleaseName.outputs.RELEASE_NAME`: 抓tag的name - `needs.assemble.outputs.jar_name`:檔名 - 就release了 <br/>  
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up