0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GoにてGithubActionsを使用してpush時に自動テストを設定した際に発生したエラー

Posted at

概要

本日はGoアプリケーションの開発でGithubActionsを利用してpush時に自動テストが通るような構成を作成してみました。

その際にちょっとしたミスのせいで依存関係のインストールが上手くいかず、少し手間取ったので共有します。

GithubActions構成(修正前)

まず、修正前の構成は下記です。

name: Golang Test
run-name: ${{ github.actor }} run Github Actions
on: push
jobs:
  Test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Go
        uses: actions/setup-go@v3
        with:
          go-version: 1.20

      - name: Install dependencies
        run: go mod download

      - name: Build
        run: go build -v ./...

      - name: test
        run: go test -v ./...
        env:
          TOKEN_LIFETIME: "3600"
          SECRET_KEY: "testsecretkey"

起こったエラー

起こったエラーは下記で、modというコマンドは知りませんというメッセージが出ています。

go: unknown subcommand "mod"
Run 'go help' for usage.
Error: Process completed with exit code 2.

はい?そんなわけないよなと思い一応modについて調べました。

すると下記の意見を見つけました。

Preliminary module support was added in Go 1.11, so Go 1.10 knows no mod subcommand.

引用元: stackoverflow

簡単に言うと、modというサブコマンドはGoのバージョン1.11からサポートされるようになったみたいです。

しかし、今回の構成ではバージョンは1.20にしていたはずと思ったので確認しました。

- name: Set up Go
    uses: actions/setup-go@v3
    with:
      go-version: 1.20

確認してみるとバージョン指定している部分が文字列になっていないではないか。

- name: Set up Go
    uses: actions/setup-go@v3
    with:
      go-version: 1.20  ← 文字列になってない

もしやこれではないかと思い、下記のように修正しました。

- name: Set up Go
    uses: actions/setup-go@v3
    with:
      go-version: "1.20"

そして再度実行させてみると、無事に成功させることができました!

GithubActions構成(修正後)

修正後の構成ファイルも一応貼っておきます。

name: Golang Test
run-name: ${{ github.actor }} run Github Actions
on: push
jobs:
  Test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Go
        uses: actions/setup-go@v3
        with:
          go-version: "1.20"

      - name: Install dependencies
        run: go mod download

      - name: Build
        run: go build -v ./...

      - name: test
        run: go test -v ./...
        env:
          TOKEN_LIFETIME: "3600"
          SECRET_KEY: "testsecretkey"

まとめ

いかがだったでしょうか。

ほんの些細なミスに気づけなかったために、少し時間を無駄にしてしまいました。

こういったところにもしっかり気を配れるようになりたいです。

最後まで読んでいただいてありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?