Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
name: Erlang CI on Ubuntu
name: "[Build & Test] Status"

on:
push:
branches: [ "main" ]
paths:
- .github/workflows/**
- apps/**
- config/**
- rebar.lock
- rebar.config
pull_request:
branches: [ "main" ]
paths:
- .github/workflows/**
- apps/**
- config/**
- rebar.lock
- rebar.config

on: [push, pull_request]

permissions:
contents: read # Necessário para actions/checkout
Expand All @@ -9,38 +26,16 @@ jobs:
build:
# Nome do job customizado para exibição mais clara no GitHub Actions UI
name: OTP ${{ matrix.otp }} Rebar3 ${{ matrix.rebar3 }}
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
strategy:
# Garante que todos os jobs na matriz rodem, mesmo que um falhe.
fail-fast: true
matrix:
# Define as combinações específicas de OTP e Rebar3 que devem ser executadas.
# Adicione aqui apenas as versões que você sabe que são compatíveis.
include:
# rebar3 3.24.0 é compatível com OTP 25-27
- otp: '25.3.2.21'
rebar3: '3.24.0'
- otp: '26.2.5.12'
rebar3: '3.24.0'
- otp: '27.3.4'
rebar3: '3.24.0'
# rebar3 3.25.0 é compatível com OTP 26-28
- otp: '26.2.5.12'
rebar3: '3.25.0'
- otp: '27.3.4'
- otp: '28'
rebar3: '3.25.0'
- otp: '28.0'
rebar3: '3.25.0'
# Adicionadas versões compatíveis para OTP 24.3.4.17
# rebar3 3.21.0, 3.20.0 e 3.19.0 são compatíveis com OTP 24
- otp: '24.3.4.17'
rebar3: '3.21.0'
- otp: '24.3.4.17'
rebar3: '3.20.0'
- otp: '24.3.4.17'
rebar3: '3.19.0'
#env:
# A versão do rebar3 agora é definida por cada par na matriz 'include'.

steps:
- name: Checkout code
Expand Down Expand Up @@ -83,9 +78,6 @@ jobs:
- name: Compile
run: rebar3 compile

- name: Run Dialyzer
run: rebar3 dialyzer

- name: Run EUnit tests with coverage
run: rebar3 eunit --cover

Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/dialyzer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: "[Dialyzer] Status"

on:
push:
branches: [ "main" ]
paths:
- .github/workflows/**
- apps/**
- config/**
- rebar.lock
- rebar.config
pull_request:
branches: [ "main" ]
paths:
- .github/workflows/**
- apps/**
- config/**
- rebar.lock
- rebar.config

permissions:
contents: read # Necessário para actions/checkout

jobs:
build:
# Nome do job customizado para exibição mais clara no GitHub Actions UI
name: OTP ${{ matrix.otp }} Rebar3 ${{ matrix.rebar3 }}
runs-on: ubuntu-latest
strategy:
# Garante que todos os jobs na matriz rodem, mesmo que um falhe.
fail-fast: true
matrix:
# Define as combinações específicas de OTP e Rebar3 que devem ser executadas.
# Adicione aqui apenas as versões que você sabe que são compatíveis.
include:
- otp: '28.0'
rebar3: '3.25.0'

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up BEAM
uses: erlef/setup-beam@v1
id: setup-beam
with:
otp-version: ${{ matrix.otp }}
# Agora usa a versão do rebar3 da matriz
rebar3-version: ${{ matrix.rebar3 }}

- name: Restore Hex package cache
uses: actions/cache@v4
id: hex-cache
with:
path: |
~/.cache/rebar3/hex
~/.hex
key: ${{ runner.os }}-hex-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles('**/rebar.lock') }}
restore-keys: |
${{ runner.os }}-hex-${{ steps.setup-beam.outputs.otp-version }}-

- name: Restore Dialyzer PLT cache
uses: actions/cache@v4
id: plt-cache
with:
path: |
~/.cache/rebar3/plt_*.ets
_build/default/rebar3_*.plt
key: ${{ runner.os }}-plt-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles('**/rebar.lock', '**/rebar.config') }}
restore-keys: |
${{ runner.os }}-plt-${{ steps.setup-beam.outputs.otp-version }}-

- name: Install Dependencies
if: steps.hex-cache.outputs.cache-hit != 'true'
run: rebar3 deps

- name: Compile
run: rebar3 compile

- name: Run Dialyzer
run: rebar3 dialyzer
78 changes: 0 additions & 78 deletions .github/workflows/opensuse_workflow.yml

This file was deleted.

5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# RPC Server

[![[Build & Test] Status](https://github.com/Erlang-Brasil/rpc_server/actions/workflows/build.yml/badge.svg)](https://github.com/Erlang-Brasil/rpc_server/actions/workflows/build.yml)
[![[Dialyzer] Status](https://github.com/Erlang-Brasil/rpc_server/actions/workflows/dialyzer.yml/badge.svg)](https://github.com/Erlang-Brasil/rpc_server/actions/workflows/dialyzer.yml)

Servidor RPC TCP altamente concorrente em Erlang/OTP, composto por dois apps: `rpc_server_http` (conexões TCP) e `rpc_server_shell` (execução de comandos e sessões persistentes).

## Estrutura do projeto
Expand Down Expand Up @@ -153,4 +156,4 @@ rebar3 ct

## Licença

MIT. Veja `LICENSE.md`.
MIT. Veja `LICENSE.md`.
2 changes: 1 addition & 1 deletion apps/rpc_server_shell/src/rpc_server_shell_manager_sup.erl
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,4 @@ start_shell_remote(ConnectionPid, Meta) ->
{error, Reason}
end.



Loading