diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..c003e89 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: mix + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..d35a8ba --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,64 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + name: Build and Test OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} + runs-on: ubuntu-latest + strategy: + matrix: + otp: [25, 26] + elixir: [1.14] + + env: + MIX_ENV: test + ImageOS: ubuntu20 # equivalent to runs-on ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + + - name: Set up Elixir + uses: erlef/setup-beam@v1 + with: + elixir-version: ${{matrix.elixir}} # Define the elixir version [required] + otp-version: ${{matrix.otp}} # Define the OTP version [required] + + - uses: actions/cache@v1 + id: deps-cache + with: + path: deps + key: ${{ runner.os }}-mix-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} + + - uses: actions/cache@v1 + id: build-cache + with: + path: _build + key: ${{ runner.os }}-build-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} + + - name: start minikube + id: minikube + uses: medyagh/setup-minikube@master + + - name: Test cluster ! + run: kubectl get pods -A + + - name: Install dependencies + run: | + mix deps.clean --all + mix deps.get + + - name: Run tests spawn + run: | + MIX_ENV=test elixir -S mix test + + - name: Run tests spawn_statestores + run: | + cd flame_k8s_controller + mix deps.get + MIX_ENV=test elixir --name flame_k8s_controller@127.0.0.1 -S mix test + cd ../../