Skip to content

Commit 360e457

Browse files
chore: prepare commons-v0.1.4 release with Supabase credentials
- Update workflow to inject SUPABASE_URL, SUPABASE_ANON_KEY, BUILD_TOKEN from GitHub secrets - Bump VERSION to 0.1.4 - Fixes telemetry not working due to placeholder credentials in 0.1.3
1 parent 6f3a909 commit 360e457

File tree

2 files changed

+144
-6
lines changed

2 files changed

+144
-6
lines changed

.github/workflows/commons-release.yml

Lines changed: 143 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,78 @@ jobs:
6969

7070
- name: Setup Development Config
7171
working-directory: ${{ env.COMMONS_DIR }}
72+
env:
73+
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
74+
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
75+
BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }}
7276
run: |
73-
# Create development_config.cpp from template (gitignored)
74-
if [ -f src/infrastructure/network/development_config.cpp.template ]; then
75-
cp src/infrastructure/network/development_config.cpp.template \
76-
src/infrastructure/network/development_config.cpp
77-
fi
77+
# Generate development_config.cpp with real credentials from secrets
78+
cat > src/infrastructure/network/development_config.cpp << 'DEVCONFIG_EOF'
79+
/**
80+
* @file development_config.cpp
81+
* @brief Development mode configuration with credentials from CI secrets
82+
*/
83+
84+
#include <cstring>
85+
86+
#include "rac/core/rac_logger.h"
87+
#include "rac/infrastructure/network/rac_dev_config.h"
88+
89+
namespace {
90+
91+
DEVCONFIG_EOF
92+
93+
# Inject secrets (avoiding heredoc variable expansion issues)
94+
echo "constexpr const char* SUPABASE_URL = \"${SUPABASE_URL}\";" >> src/infrastructure/network/development_config.cpp
95+
echo "constexpr const char* SUPABASE_ANON_KEY = \"${SUPABASE_ANON_KEY}\";" >> src/infrastructure/network/development_config.cpp
96+
echo "constexpr const char* BUILD_TOKEN = \"${BUILD_TOKEN:-bt_release_build}\";" >> src/infrastructure/network/development_config.cpp
97+
echo "constexpr const char* SENTRY_DSN = nullptr;" >> src/infrastructure/network/development_config.cpp
98+
99+
cat >> src/infrastructure/network/development_config.cpp << 'DEVCONFIG_EOF'
100+
101+
} // anonymous namespace
102+
103+
extern "C" {
104+
105+
bool rac_dev_config_is_available(void) {
106+
if (SUPABASE_URL == nullptr || SUPABASE_ANON_KEY == nullptr) return false;
107+
if (std::strlen(SUPABASE_URL) == 0 || std::strlen(SUPABASE_ANON_KEY) == 0) return false;
108+
if (std::strstr(SUPABASE_URL, "YOUR_") != nullptr) return false;
109+
if (std::strstr(SUPABASE_ANON_KEY, "YOUR_") != nullptr) return false;
110+
return true;
111+
}
112+
113+
const char* rac_dev_config_get_supabase_url(void) {
114+
return SUPABASE_URL;
115+
}
116+
117+
const char* rac_dev_config_get_supabase_key(void) {
118+
return SUPABASE_ANON_KEY;
119+
}
120+
121+
const char* rac_dev_config_get_build_token(void) {
122+
return BUILD_TOKEN;
123+
}
124+
125+
const char* rac_dev_config_get_sentry_dsn(void) {
126+
return SENTRY_DSN;
127+
}
128+
129+
bool rac_dev_config_has_supabase(void) {
130+
return rac_dev_config_is_available();
131+
}
132+
133+
bool rac_dev_config_has_build_token(void) {
134+
return BUILD_TOKEN != nullptr && std::strlen(BUILD_TOKEN) > 0;
135+
}
136+
137+
} // extern "C"
138+
DEVCONFIG_EOF
139+
140+
echo "=== Generated development_config.cpp ==="
141+
head -30 src/infrastructure/network/development_config.cpp
142+
echo "..."
143+
echo "(credentials redacted)"
78144
79145
- name: Build RACommons XCFramework
80146
working-directory: ${{ env.COMMONS_DIR }}
@@ -145,6 +211,78 @@ jobs:
145211
echo "y" | sdkmanager --install "ndk;${NDK_VERSION}" --sdk_root=${ANDROID_SDK_ROOT}
146212
echo "ANDROID_NDK_HOME=${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}" >> $GITHUB_ENV
147213
214+
- name: Setup Development Config
215+
working-directory: ${{ env.COMMONS_DIR }}
216+
env:
217+
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
218+
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
219+
BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }}
220+
run: |
221+
# Generate development_config.cpp with real credentials from secrets
222+
cat > src/infrastructure/network/development_config.cpp << 'DEVCONFIG_EOF'
223+
/**
224+
* @file development_config.cpp
225+
* @brief Development mode configuration with credentials from CI secrets
226+
*/
227+
228+
#include <cstring>
229+
230+
#include "rac/core/rac_logger.h"
231+
#include "rac/infrastructure/network/rac_dev_config.h"
232+
233+
namespace {
234+
235+
DEVCONFIG_EOF
236+
237+
# Inject secrets
238+
echo "constexpr const char* SUPABASE_URL = \"${SUPABASE_URL}\";" >> src/infrastructure/network/development_config.cpp
239+
echo "constexpr const char* SUPABASE_ANON_KEY = \"${SUPABASE_ANON_KEY}\";" >> src/infrastructure/network/development_config.cpp
240+
echo "constexpr const char* BUILD_TOKEN = \"${BUILD_TOKEN:-bt_release_build}\";" >> src/infrastructure/network/development_config.cpp
241+
echo "constexpr const char* SENTRY_DSN = nullptr;" >> src/infrastructure/network/development_config.cpp
242+
243+
cat >> src/infrastructure/network/development_config.cpp << 'DEVCONFIG_EOF'
244+
245+
} // anonymous namespace
246+
247+
extern "C" {
248+
249+
bool rac_dev_config_is_available(void) {
250+
if (SUPABASE_URL == nullptr || SUPABASE_ANON_KEY == nullptr) return false;
251+
if (std::strlen(SUPABASE_URL) == 0 || std::strlen(SUPABASE_ANON_KEY) == 0) return false;
252+
if (std::strstr(SUPABASE_URL, "YOUR_") != nullptr) return false;
253+
if (std::strstr(SUPABASE_ANON_KEY, "YOUR_") != nullptr) return false;
254+
return true;
255+
}
256+
257+
const char* rac_dev_config_get_supabase_url(void) {
258+
return SUPABASE_URL;
259+
}
260+
261+
const char* rac_dev_config_get_supabase_key(void) {
262+
return SUPABASE_ANON_KEY;
263+
}
264+
265+
const char* rac_dev_config_get_build_token(void) {
266+
return BUILD_TOKEN;
267+
}
268+
269+
const char* rac_dev_config_get_sentry_dsn(void) {
270+
return SENTRY_DSN;
271+
}
272+
273+
bool rac_dev_config_has_supabase(void) {
274+
return rac_dev_config_is_available();
275+
}
276+
277+
bool rac_dev_config_has_build_token(void) {
278+
return BUILD_TOKEN != nullptr && std::strlen(BUILD_TOKEN) > 0;
279+
}
280+
281+
} // extern "C"
282+
DEVCONFIG_EOF
283+
284+
echo "=== Generated development_config.cpp for Android ==="
285+
148286
- name: Build Android ${{ matrix.abi }}
149287
working-directory: ${{ env.COMMONS_DIR }}
150288
run: |

sdk/runanywhere-commons/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.3
1+
0.1.4

0 commit comments

Comments
 (0)