Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3 - DO NOT MERGE #2525

Draft
wants to merge 126 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
bf2a099
EVEREST-287 Drop DBaaS (#2510)
Sep 28, 2023
e945349
Merge branch 'main' into v3
BupycHuk Oct 7, 2023
83e901e
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Oct 7, 2023
dfdbc87
Merge branch 'main' into v3
BupycHuk Oct 11, 2023
b108991
PMM-11079 Remove Integrated Alerting (#2309)
artemgavrilov Oct 12, 2023
37715cf
PMM-7 DBaaS leftovers to remove. (#2539)
BupycHuk Oct 19, 2023
18f8699
Squashed commit of the following:
ademidoff Nov 2, 2023
118d925
Squashed commit of the following:
ademidoff Nov 2, 2023
f6055e9
Squashed commit of the following:
ademidoff Nov 2, 2023
106d813
Merge branch 'main' into v3
ademidoff Nov 2, 2023
e2d491d
Merge branch 'main' into v3
ademidoff Nov 9, 2023
4c16ec2
PMM-12429 Use a configuration file for mockery (#2621)
ademidoff Nov 16, 2023
a1510a0
PMM-12557 Automate PMM3 builds (#2598)
surbhat1595 Nov 20, 2023
6236724
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Nov 20, 2023
3fad605
PMM-7 Merge PMM 2 changes into v3 branch.
BupycHuk Nov 20, 2023
d49a506
PMM-7 Fix tests. (#2628)
BupycHuk Nov 20, 2023
f7ac177
Bump github.com/vektra/mockery/v2 from 2.36.0 to 2.37.1 in /tools (#2…
dependabot[bot] Nov 21, 2023
834bfa8
Bump github.com/vektra/mockery/v2 from 2.37.1 to 2.38.0 in /tools (#2…
dependabot[bot] Nov 22, 2023
9b44bbb
PMM-12529 Run pmm-agent as non root (#2590)
ademidoff Nov 30, 2023
5aa6e6b
Merge branch 'main' into v3
ademidoff Dec 1, 2023
2b250e6
Merge branch 'main' into v3
ademidoff Dec 1, 2023
5d570ea
PMM-12693 run grafana as non root (#2648)
ademidoff Dec 4, 2023
b1a4941
PMM-12284 Remove Alertmanager (#2614)
artemgavrilov Dec 5, 2023
caafee9
PMM-7 cleanup docker-compose.yml for v3 (#2667)
ademidoff Dec 5, 2023
f42b62d
Merge branch 'main' into v3
BupycHuk Dec 5, 2023
0295da7
PMM-7 go mod tidy
BupycHuk Dec 5, 2023
d56d15c
PMM-12692 run postgres as non root (#2674)
ademidoff Dec 7, 2023
0a49079
PMM-8306 fix ssh key bug (#2686)
BupycHuk Dec 9, 2023
9b65e1c
PMM-8471 run nginx as non-root (#2589)
ademidoff Dec 11, 2023
b6acd98
PMM-12524 run clickhouse as non root (#2684)
ademidoff Dec 12, 2023
0c90f57
PMM-12530 run supervisor as non root (#2643)
ademidoff Dec 18, 2023
1a7c3e7
PMM-7 fix devcontainer build (#2706)
ademidoff Dec 19, 2023
f156201
Fix transactions order (#2707)
artemgavrilov Dec 19, 2023
fbb4e34
ci: provide proper port mapping
ademidoff Dec 23, 2023
7491172
Merge remote-tracking branch 'origin/main' into v3
artemgavrilov Dec 25, 2023
989ce79
PMM-12314 Grafana 10 (#2713)
matejkubinec Jan 16, 2024
3f66a30
PMM-8306 migrate ova ami to docker (#2768)
BupycHuk Jan 25, 2024
3bb7ec4
PMM-8306 write SSH key to pmm user instead of root. (#2776)
BupycHuk Jan 29, 2024
86b90a9
PMM-7: extract test env workaround (#2809)
idoqo Feb 6, 2024
9310b83
PMM-12641 clean up build scripts (#2728)
ademidoff Feb 7, 2024
65513d9
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Feb 20, 2024
5e59ce3
PMM-7 go mod tidy
BupycHuk Feb 20, 2024
73b8b5d
PMM-7 fix tests
BupycHuk Feb 20, 2024
29e7cde
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Feb 20, 2024
f9ce3d8
PMM-10974 Fallback to PGSS in case of not available PGSM. (#2827) (#…
JiriCtvrtka Feb 26, 2024
c8caec6
Merge branch 'main' into v3
ademidoff Feb 28, 2024
0411889
Merge branch 'main' into v3
ademidoff Feb 29, 2024
6651430
Merge branch 'main' into v3
ademidoff Mar 1, 2024
ae1b2f5
Merge branch 'main' into v3
ademidoff Mar 6, 2024
2a46e6a
Merge branch 'main' into v3
ademidoff Mar 7, 2024
9a87836
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Mar 11, 2024
39e2b52
PMM-13001 Fix for PGSM switch in case of older versions. (#2899) (#2902)
JiriCtvrtka Mar 18, 2024
e036f04
Merge remote-tracking branch 'origin/main' into v3
BupycHuk Mar 19, 2024
d60b6cd
PMM-12991 Update Grafana to 10.4.0 (#2894)
matejkubinec Mar 20, 2024
f9fd3a7
Merge branch 'main' into v3
ademidoff Mar 20, 2024
848155a
PMM-12641 Fix the dashboard upgrade (#2926)
ademidoff Mar 26, 2024
3cb9f9f
PMM-12251 PMM-12686 Service accounts. (#2516) (#2852)
JiriCtvrtka Apr 1, 2024
7654076
Merge branch 'main' into v3
BupycHuk Apr 1, 2024
745531f
Merge branch 'main' into v3
BupycHuk Apr 1, 2024
0921171
PMM-8306 Migrate OVA image to rootless container. (#2938)
talhabinrizwan Apr 3, 2024
21a5f8a
PMM-13023 Add leading slash to home dashboard path (#2939)
matejkubinec Apr 5, 2024
97944bc
Merge branch 'main' into v3
ademidoff Apr 6, 2024
47b8e1a
PMM-13059 Update grafana to 10.4.2 (#2959)
matejkubinec Apr 16, 2024
c43ab4e
Update descriptors
Apr 17, 2024
38f2862
PMM-11261 Update PMM via watchtower (#2844)
BupycHuk Apr 18, 2024
c6044df
Update descriptors
Apr 23, 2024
3aed8f3
PMM-12619: Make PMM environment variables more consistent (#2857)
idoqo Apr 24, 2024
561b807
PMM-7 Service accounts length fix. (#2973)
JiriCtvrtka Apr 24, 2024
958a5a9
Merge branch 'main' into v3
ademidoff Apr 29, 2024
dc10c50
PMM-12776 Update go version for API tests (#2978)
BupycHuk Apr 30, 2024
3258363
PMM-7 Fix for service accounts tests stability. (#2976)
JiriCtvrtka Apr 30, 2024
a262bf3
PMM-12741 Percona templated alerts - interval & folder uid (#2919)
matejkubinec May 3, 2024
9209769
Update descriptors
May 9, 2024
09f8817
PMM-13095 Remove trimming of slowlog query IDs. (#2984)
JiriCtvrtka May 14, 2024
39dce06
Merge branch 'refs/heads/main' into v3
BupycHuk May 23, 2024
8d3e0bf
PMM-12880 Proper skip for MySQL TLS certs. (#2909) (#3007)
JiriCtvrtka May 30, 2024
77b31a6
Merge branch 'main' into v3
ademidoff May 31, 2024
8a59705
Merge branch 'main' into v3
BupycHuk Jun 5, 2024
66f7907
PMM-13120 Reflect correct mode in RemoveNode. (#2996)
JiriCtvrtka Jun 18, 2024
cd40e7a
PMM-10684 Clickhouse v2. (#1542)
JiriCtvrtka Jun 18, 2024
5efc158
Cherry-pick changes to v3 (#3031)
maqeel75 Jun 20, 2024
1062f5a
PMM-12762 Get notified about new version. (#2951)
BupycHuk Jun 24, 2024
f97f194
PMM-12899 Use go mod cache in actions (#3026)
ademidoff Jun 24, 2024
0b405e8
Merge branch 'main' into v3
ademidoff Jun 24, 2024
518fe8a
Merge branch 'main' into v3
ademidoff Jun 25, 2024
b6b01b6
PMM-7 fix updates test (#3050)
idoqo Jun 26, 2024
5d28fcc
PMM-3 Fix v3 linter issues (#3051)
ademidoff Jun 26, 2024
9493eec
Merge branch 'main' into v3
ademidoff Jun 27, 2024
3a9f22a
Merge branch 'main' into v3
ademidoff Jul 2, 2024
39d5f8f
Merge branch 'main' into v3
ademidoff Jul 8, 2024
6d45a20
PMM-13175 hide deprecation warnings and support bundles (#3042)
YashSartanpara1 Jul 10, 2024
a432058
Merge branch 'main' into v3
ademidoff Jul 14, 2024
c18b2fe
chore: fix a missing entry in go.sum
ademidoff Jul 14, 2024
2938b3a
Merge branch 'main' into v3
ademidoff Jul 15, 2024
8271136
Merge branch 'main' into v3
ademidoff Jul 17, 2024
ee86153
PMM-8641 PMM v3 API breaking changes (#2635)
artemgavrilov Jul 18, 2024
e62cf8c
v3: trigger gh actions
ademidoff Jul 18, 2024
0ac861d
PMM-11231 PMM Updates UI (#2904)
matejkubinec Jul 23, 2024
439e2fc
PMM-13078 List available client versions (#3077)
ademidoff Jul 29, 2024
fb8105a
PMM-12857 Fix API tests (part II) (#3106)
ademidoff Jul 31, 2024
31ff49f
Merge branch 'main' into v3
ademidoff Aug 2, 2024
85a01ce
Merge branch 'main' into v3
ademidoff Aug 2, 2024
da25a0c
PMM-12985 Create v3 API infra
ademidoff Aug 2, 2024
ffea775
PMM-12940 Run watchtower with AMI. (#3074)
BupycHuk Aug 3, 2024
9ea52b1
Merge branch 'main' into v3
ademidoff Aug 5, 2024
797bed9
PMM-13250 Fix backup restore endpoint (#3082)
ademidoff Aug 7, 2024
56be4e7
Merge branch 'main' into v3
ademidoff Aug 9, 2024
6a42b21
Merge branch 'main' into v3
ademidoff Aug 9, 2024
0be6f30
PMM-12910 snooze updates (#3018)
idoqo Aug 19, 2024
0a4e947
PMM-12451 MongoDB explain. (#3152). (#3166)
JiriCtvrtka Aug 21, 2024
435d0a1
Merge branch 'main' into v3
ademidoff Aug 23, 2024
5883e93
PMM-7 fix proto validation error
ademidoff Aug 23, 2024
c7fe1b2
PMM-7 Move build-submodules script to monorepo (#3185)
ademidoff Aug 28, 2024
11cba1b
PMM-7 Fix agent API test (#3177)
ademidoff Aug 28, 2024
4242f0b
Migrate to buf schema v2 and move api related tasks to dedicated Make…
artemgavrilov Sep 9, 2024
5561f58
PMM-13077 list change log for PMM server version (#3045)
idoqo Sep 11, 2024
8ad46db
PMM-13146 Fix v3 telemetry issues (#3154)
ademidoff Sep 16, 2024
a068394
PMM-13285 Short agent status in pmm-admin list output (#3123)
ademidoff Sep 18, 2024
6d2825b
PMM-7 fix SSH key test. (#3203)
BupycHuk Sep 18, 2024
e4f2cfc
Merge branch 'main' into v3
ademidoff Sep 18, 2024
7e51659
Merge branch 'main' into v3
ademidoff Sep 18, 2024
9bc2a01
Merge branch 'v3' of github.com:percona/pmm into v3
ademidoff Sep 18, 2024
6a7efaf
PMM-7 fix supervisor_test after merging
ademidoff Sep 18, 2024
9dcabbd
PMM-13235 Grafana 11 (#3075)
matejkubinec Sep 19, 2024
0734b92
PMM-13282 Migrate pmm-dump to v3 (#3143)
ademidoff Sep 19, 2024
a181c33
Merge branch 'main' into v3
ademidoff Sep 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 21 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
ARG PMM_SERVER_IMAGE="perconalab/pmm-server:3-dev-latest"
FROM $PMM_SERVER_IMAGE

ARG PMM_SERVER_IMAGE
ARG GO_VERSION="1.22.x"

USER root

RUN echo "Building with: GO: $GO_VERSION, PMM: $PMM_SERVER_IMAGE"
ENV GOPATH=/root/go
ENV PATH="$PATH:$GOPATH/bin"

RUN mkdir -p $GOPATH/src/github.com/percona/pmm
WORKDIR $GOPATH/src/github.com/percona/pmm

COPY ./ ./
# setup.py uses a task from Makefile.devcontainer but expects it to be in the default Makefile
COPY ./Makefile.devcontainer ./Makefile

RUN python ./.devcontainer/setup.py
RUN mv -f $GOPATH/src/github.com/percona/pmm/bin/* $GOPATH/bin/
13 changes: 2 additions & 11 deletions .devcontainer/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def install_packages():
run_commands([
"dnf install -y gcc git make pkgconfig \
vim \
mc tmux psmisc lsof which iproute \
mc tmux psmisc lsof which iproute diffutils \
bash-completion \
man man-pages \
openssl-devel \
Expand All @@ -47,16 +47,7 @@ def install_go():

go_version = str(subprocess.check_output("gimme -r " + GO_VERSION, shell=True).strip().decode())

if GO_VERSION == "tip":
run_commands([
"mkdir $HOME/git_source",
"wget https://github.com/git/git/archive/refs/tags/v2.34.4.tar.gz -O $HOME/git.tar.gz",
"tar -xzf $HOME/git.tar.gz -C $HOME/git_source --strip-components 1",
"cd $HOME/git_source && make configure && ./configure --prefix=/usr && make all && make install",
])
gimme_go_dir = "go"
else:
gimme_go_dir = "go{go_version}.linux.amd64".format(go_version=go_version)
gimme_go_dir = "go{go_version}.linux.amd64".format(go_version=go_version)

run_commands([
"gimme " + go_version,
Expand Down
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ This project relies on the following dependencies:

## Run PMM-Server in Docker

1. Run `docker run -d -p 80:80 -p 443:443 --name pmm-server public.ecr.aws/e7j3v3n0/pmm-server:dev-latest`.
1. Run `docker run -d -p 80:80 -p 443:443 --name pmm-server public.ecr.aws/e7j3v3n0/pmm-server:3-dev-latest`.
2. Open http://localhost/.

Please note, the use of port 80 is discouraged and should be avoided. For optimal security, use port 443 along with a valid SSL certificate.
4 changes: 2 additions & 2 deletions .github/workflows/admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- v3
- pmm-*
tags:
- v[0-9]+.[0-9]+.[0-9]+*
Expand All @@ -17,13 +18,12 @@ on:
- "qan-api2/**"
- "update/**"
- "vmproxy/**"
- "ui/**"

jobs:
test:
name: Tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false

defaults:
run:
Expand Down
32 changes: 17 additions & 15 deletions .github/workflows/agent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- v3
- pmm-*
tags:
- v[0-9]+.[0-9]+.[0-9]+*
Expand All @@ -18,6 +19,7 @@ on:
- "qan-api2/**"
- "update/**"
- "vmproxy/**"
- "ui/**"

jobs:
test:
Expand All @@ -26,27 +28,27 @@ jobs:
strategy:
matrix:
images:
- { mysql: 'mysql:5.6', mongo: 'mongo:4.2', postgres: 'postgres:10', pmm_server: 'percona/pmm-server:2.0.0' }
- { mysql: 'mysql:5.7', mongo: 'mongo:4.4', postgres: 'postgres:11', pmm_server: 'percona/pmm-server:2.0.1' }
- { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'percona/pmm-server:2.1.0' }
- { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:13', pmm_server: 'percona/pmm-server:2.2.0' }
- { mysql: 'mysql:5.6', mongo: 'mongo:4.4', postgres: 'postgres:10', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'mysql:5.7', mongo: 'mongo:4.4', postgres: 'postgres:11', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:13', pmm_server: 'perconalab/pmm-server:3-dev-latest' }

# Percona + latest PMM Server release
- { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.2', postgres: 'perconalab/percona-distribution-postgresql:11', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' }
- { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:12.8-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' }
- { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:13.5-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' }
- { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:11', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:12.8-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:13.5-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' }

# MariaDB (only 3 latest GA versions)
# + older supported MongoDB versions
# + older supported PostgreSQL versions
# + dev-latest PMM Server
# + 3-dev-latest PMM Server
# - MYSQL_IMAGE=mariadb:5.5
# - MYSQL_IMAGE=mariadb:10.0
# - MYSQL_IMAGE=mariadb:10.1

- { mysql: 'mariadb:10.2', mongo: 'mongo:4.4', postgres: 'postgres:9.4', pmm_server: 'perconalab/pmm-server:dev-latest' }
- { mysql: 'mariadb:10.3', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'postgres:9.5', pmm_server: 'perconalab/pmm-server:dev-latest' }
- { mysql: 'mariadb:10.4', postgres: 'postgres:9.6', pmm_server: 'perconalab/pmm-server:dev-latest' }
- { mysql: 'mariadb:10.2', mongo: 'mongo:4.4', postgres: 'postgres:9.4', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'mariadb:10.3', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'postgres:9.5', pmm_server: 'perconalab/pmm-server:3-dev-latest' }
- { mysql: 'mariadb:10.4', postgres: 'postgres:9.6', pmm_server: 'perconalab/pmm-server:3-dev-latest' }

continue-on-error: true

Expand Down Expand Up @@ -113,8 +115,8 @@ jobs:
- name: Run debug commands on failure
if: ${{ failure() }}
run: |
env
go version
go env
pwd
echo "--- Environment variables ---"
env | sort
echo "--- GO Environment ---"
go env | sort
git status
15 changes: 7 additions & 8 deletions .github/workflows/api-tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'API'
name: 'API Tests'

on:
# NOTE: no action on `push` and `pull_request` since the API tests need to be run
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
MYSQL_IMAGE: ${{ github.event.inputs.MYSQL_IMAGE || 'percona:5.7' }}
POSTGRESQL_IMAGE: ${{ github.event.inputs.POSTGRESQL_IMAGE || 'postgres:12' }}
MONGODB_IMAGE: ${{ github.event.inputs.MONGODB_IMAGE || 'percona/percona-server-mongodb:4.4' }}
PMM_SERVER_IMAGE: ${{ github.event.inputs.PMM_SERVER_IMAGE || 'perconalab/pmm-server:dev-latest' }}
PMM_SERVER_IMAGE: ${{ github.event.inputs.PMM_SERVER_IMAGE || 'perconalab/pmm-server:3-dev-latest' }}

steps:
- name: Check out code
Expand All @@ -94,12 +94,11 @@ jobs:
container_name: pmm-agent_pmm-server
environment:
- PMM_DEBUG=1
- PERCONA_TEST_CHECKS_INTERVAL=10s
- PERCONA_TEST_PLATFORM_ADDRESS=https://check-dev.percona.com
- PERCONA_TEST_PLATFORM_PUBLIC_KEY=RWTg+ZmCCjt7O8eWeAmTLAqW+1ozUbpRSKSwNTmO+exlS5KEIPYWuYdX
- PMM_DEV_PERCONA_PLATFORM_ADDRESS=https://check-dev.percona.com
- PMM_DEV_PERCONA_PLATFORM_PUBLIC_KEY=RWTg+ZmCCjt7O8eWeAmTLAqW+1ozUbpRSKSwNTmO+exlS5KEIPYWuYdX
ports:
- 80:80
- 443:443
- 80:8080
- 443:8443
volumes:
- ./managed/testdata/checks:/srv/checks
EOF
Expand Down Expand Up @@ -133,7 +132,7 @@ jobs:
run: |
docker run -e PMM_SERVER_URL=${{env.PMM_URL}} \
-e PMM_RUN_UPDATE_TEST=0 \
-e PMM_RUN_STT_TESTS=0 \
-e PMM_RUN_ADVISOR_TESTS=0 \
--name pmm-api-tests \
--network host \
percona/pmm-api-tests
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/clean.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ jobs:
go:
- version: 1.22.x
may-fail: false
- version: tip
may-fail: true

continue-on-error: ${{ matrix.go.may-fail }}
runs-on: ubuntu-22.04
Expand All @@ -29,7 +27,7 @@ jobs:
- name: Configure git for private modules
env:
ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
run: git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"
run: echo "machine github.com login percona-robot password ${{ secrets.ROBOT_TOKEN }}" > $HOME/.netrc

- name: Set up Go release
if: matrix.go.version != 'tip'
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/devcontainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,28 @@ on:
inputs:
branch:
description: "The branch to build the devcontainer from"
default: "main"
default: "v3"
required: true
type: string
workflow_call:
inputs:
branch:
description: "The branch to build the devcontainer from"
default: "main"
default: "v3"
required: true
type: string

jobs:
devcontainer:
name: Build
name: Devcontainer
runs-on: ubuntu-22.04
timeout-minutes: 15
strategy:
fail-fast: false
permissions:
packages: write

env:
LAB_DEVCONTAINER_IMAGE: perconalab/pmm-server:dev-container
GH_DEVCONTAINER_IMAGE: ghcr.io/percona/pmm:dev-container
LAB_DEVCONTAINER_IMAGE: perconalab/pmm-server:3-dev-container
GH_DEVCONTAINER_IMAGE: ghcr.io/percona/pmm:3-dev-container

steps:
- name: Check out code
Expand Down Expand Up @@ -55,7 +53,8 @@ jobs:
- name: Build and push to registries
uses: docker/build-push-action@v6
with:
file: ./devcontainer.Dockerfile
file: ./.devcontainer/Dockerfile
context: .
push: true
tags: |
${{ env.GH_DEVCONTAINER_IMAGE }}
Expand Down
18 changes: 7 additions & 11 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ jobs:
sync:
name: Sync
runs-on: ubuntu-22.04
env:
VERSION: v2
ID: 626badcabbc59c02acc1a53f

steps:
- name: Check out code
Expand All @@ -32,12 +29,11 @@ jobs:
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "ID=$ID" >> $GITHUB_ENV

- name: API
uses: readmeio/rdme@v8
with:
rdme: openapi ./api/swagger/swagger.json --id=${{ env.ID }} --key=${{ secrets.README_TOKEN }}
- name: Provision rdme
run: npm install -g rdme

- name: Markdown docs
uses: readmeio/rdme@v8
with:
rdme: docs docs/api --version=${{ env.VERSION }} --key=${{ secrets.README_TOKEN }}
- name: Sync API spec
run: rdme openapi ./api/swagger/swagger.json --id=${{ env.ID }} --key=${{ secrets.README_TOKEN }}

- name: Sync Markdown docs
run: rdme docs docs/api --version=${{ env.VERSION }} --key=${{ secrets.README_TOKEN }}
55 changes: 35 additions & 20 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- v3
- pmm-*
tags:
- v[0-9]+.[0-9]+.[0-9]+*
Expand All @@ -14,8 +15,6 @@ jobs:
check:
name: Checks
runs-on: ubuntu-22.04
strategy:
fail-fast: false

steps:
- name: Check out code
Expand Down Expand Up @@ -69,7 +68,7 @@ jobs:
- name: Update API compatibility descriptors
run: |
# log if descriptors changed, useful for "update descriptors" PRs
make descriptors
make -C api descriptors
git diff --text

- name: Run check-license
Expand All @@ -80,7 +79,26 @@ jobs:
- name: Run go-sumtype
run: bin/go-sumtype ./...

- name: Run linters
- name: Run API linter
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.ROBOT_TOKEN || secrets.GITHUB_TOKEN }}
run: |
if out=$(bin/buf lint -v api); code="$?"; test "$code" -eq 0; then
echo "$out"
exit 0
fi

echo "API linter exited with code: $code"
echo "$out"
## buf uses exit code 100 for linter warnings
if [ "$code" -ne 100 ] || ${{ github.event.pull_request == null }}; then
exit $code
fi

# One may need to suppress passing to reviewdog because of https://github.com/reviewdog/reviewdog/issues/1696
echo "$out" | bin/reviewdog -f=buf -reporter=github-pr-review -fail-on-error=true

- name: Run code linters
uses: reviewdog/action-golangci-lint@v2
with:
github_token: ${{ secrets.ROBOT_TOKEN || secrets.GITHUB_TOKEN }}
Expand All @@ -93,31 +111,28 @@ jobs:

- name: Run go-consistent
env:
COMMAND: 'bin/go-consistent -pedantic -exclude "tests" ./...'
REDIRECT: "| bin/reviewdog -f=go-consistent -reporter=github-pr-review -fail-on-error=true"
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.ROBOT_TOKEN || secrets.GITHUB_TOKEN }}
run: |
if out=$( ${{ env.COMMAND }} ); exit_code=$?; [ $exit_code -ne 0 ]; then
if [ $exit_code -gt 1 ] || ${{ github.event.pull_request == null }}; then
echo "$out"
exit $exit_code
else
echo "$out" ${{ env.REDIRECT }}
fi
else
if out=$(bin/go-consistent -pedantic -exclude "tests" ./...); exit_code=$?; [ $exit_code -eq 0 ]; then
echo "$out"
exit 0
fi

if [ $exit_code -gt 1 ] || ${{ github.event.pull_request == null }}; then
echo "$out"
exit $exit_code
fi

echo "$out" | bin/reviewdog -f=go-consistent -reporter=github-pr-review -fail-on-error=true

- name: Test common API
run: make test-common

- name: Run debug commands on failure
if: ${{ failure() }}
run: |
env
go version
go env
pwd
env | sort
go env | sort
git status

merge-gatekeeper:
Expand Down Expand Up @@ -151,7 +166,7 @@ jobs:

steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2.3.0
uses: rtCamp/action-slack-notify@v2.2.1

workflow_failure:
if: ${{ failure() }}
Expand All @@ -169,4 +184,4 @@ jobs:

steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2.3.0
uses: rtCamp/action-slack-notify@v2.2.1
Loading
Loading