diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 000000000..7412b7261 --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,73 @@ +name: Integration +on: push +env: + CLDR_PATH: ${{github.workspace}}/${{github.ref_name}}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}} +permissions: + contents: read +jobs: + test: + services: + db: + image: postgres:12 + ports: ['5432:5432'] + env: + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + continue-on-error: true + strategy: + fail-fast: false + max-parallel: 1 + matrix: + app: ["cldr_calendars", "cldr_calendars_composite", "cldr_calendars_coptic", + "cldr_calendars_ethiopic", "cldr_calendars_format", + "cldr_calendars_japanese", "cldr_calendars_lunisolar", + "cldr_calendars_persian", "cldr_collation", "cldr_currencies", + "cldr_dates_times", "cldr_html", "cldr_languages", "cldr_lists", + "cldr_locale_display", "cldr_messages", "cldr_numbers", + "cldr_person_names", "cldr_plugs", "cldr_print", "cldr_routes", + "cldr_sql", "cldr_strftime", "cldr_territories", "cldr_text", + "cldr_trans", "cldr_units", "cldr_units_sql", "cldr_utils"] + spec: ["lastest", "min"] + include: + - spec: lastest + elixir: lastest + otp: lastest + - spec: min + elixir: "1.13" + otp: "25" + runs-on: ubuntu-latest + name: ${{matrix.elixir}}-otp-${{matrix.otp}} ${{matrix.app}} + defaults: + run: + working-directory: ./${{matrix.app}} + steps: + - name: Set up elixir ${{matrix.elixir}}-otp-${{matrix.otp}} + uses: erlef/setup-beam@v1 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + - name: Checkout ${{github.repository_owner}}/${{matrix.app}} + uses: actions/checkout@v4 + with: + path: ${{matrix.app}} + repository: ${{github.repository_owner}}/${{matrix.app}} + - name: Checkout ${{github.repository}} + uses: actions/checkout@v4 + with: + path: ${{github.ref_name}} + repository: ${{github.repository}} + ref: ${{github.ref_name}} + + - name: Built release + working-directory: ./${{github.ref_name}} + run: mix hex.build -o ${{env.CLDR_PATH}} --unpack + + - run: mix deps.get + - run: mix deps.compile + - run: mix compile --warnings-as-errors + - run: mix test + - run: mix help | grep -E '(^| )dialyzer( |$)' && mix dialyzer diff --git a/mix.exs b/mix.exs index bbe81ed39..6ca39c10d 100644 --- a/mix.exs +++ b/mix.exs @@ -7,7 +7,7 @@ defmodule Cldr.Mixfile do [ app: :ex_cldr, version: @version, - elixir: "~> 1.12", + elixir: "~> 1.13", name: "Cldr", source_url: "https://github.com/elixir-cldr/cldr", docs: docs(),